Skip to main content

Full text of "Commodore újság 1993 03"

See other formats


■■■■■■■■■■■■■■■ 

1^ ^IHI Az Országos Commodore Egyesület lapja 

















i-10331 
ELEKTRON IK 

Urbán István mérnök áramköreinek szaküzlete 


Budapest VII., Dózsa György út 16. (Dózsa-Jobbágy sarok) 
Nyitva: H-P 10-17-lg Tel./fax: 122-8892 
(Zárás után üzenetrögzítő) 


Több, mint tíz éve frok a Rádiótechnikában, vezetem a „Zenei hobby elektronika" fejlécű rovatot. A közölt témák 
nagyrészéhez szakOzletemben - működő minta alapján - vásárolhat panelokat, részegységdcet, egységcsomagokat. 

KÍNÁLATUNKBÓL; 


SZÁMÍTÁSTECHNIKA: 


I— 

C64 bővítők: 

egys. 

éleszt. 1 

RT89/3 

PLOFI Datassettecartridge... 

.1200 Ff.. 

...1500 Ft 


PLOFIDatassetle^romon. 

,1300 Ft.. 

...1700 Ft 


PLOFI Datasselte/help. 

.1300 Ft , 

,.,1700Fl 

RT89/10 PLOFIFastloadcartridge. 

.1300 Ft., 

...1700 Ft 


PLOFI Fastioad speedtape.... 

.1400 Ft., 

...1900 Ft 

RT90/3 

PLOFI Simon's canridge. 

.1300 Ft.. 

...1700 Ft 


FINALIIIcantidge. 


... 3450 Ft 


ACTION Replay’vil. 


...3450 Ft 

RT89/11 Fényceruza, szoftverrel. 

...950 Ft.. 

...1250 Ft 

RT90/8 

Hangdigitalizáló * szoftver. 

.1350 Ft.. 

...1660 Ft 

HE90/8 

Hangkapcsoló. 

... 300 Ft 


RT89/4 

EPROM-égető. 

.3400 Ft.. 

...4500 Ft 


Égető szoftver lemezen. 

.1300 Ft 



Égető szoftvercariridge. 

.1300 Ft.. 

...1700 Ft 


User csatlakozó. 

... 300 Ft 


RT91/3 

EPROM-bank (256 Kbájt). 

.2900Ft. 

,4000 Ft 

RT91/10 ICíesTter. 

.3000 Ft,. 

..4500 Ft 

RT91/7 

Dalassette gyorsmásoló. 

,.,60OFt 


HE91/7 

Dalasseltelejbeállltó. 

...350 Ft 


HE90/12 CPU stop t rését. 

,.,400 Ft 



. PAGEFOXszővegszerkesztö 


.3900 Ft 


.MiniEPROM-bank. 

.2300 Ft.. 

„3000 Ft , 

1 

IBM bővítők: 

egys. 

éleszt. 


flT91/4,5 IBM IC tesaer + szoftver. 5900 Ft.9800 Ft 

FIT91/11.12 IBM EPROM-égető 

t szoftver.4800 Ft. 9900 Ft 

RT91/6 48csat. KOkártya.3500 Ft 


HE92r2 User-Centronrcscsatlakozö.950 Ft 

RT92/3 TTL IC katakSgrjs lemezen.600 Ft 

CMOS IC katalógus lemezen.600 Ft 

Dióda katalógus lemezen.600 Ft 


T ranzisztor katatógus lemezen „ .600 Ft 


ZENE - HANGTECHNIKA: 


RT87/10 Fuzztrox torzító. 6t0Ft 

RT90.'1 KORG DST -1 torzító 1200 Ft 

.KORG DST-3 torzító 1400 Ft 

HE90/1 KORG OVERDRIVE torzító.920 Ft 

RT87/12 Vau-vau gitáreffekt... 640 Ft 

RT88/9 Sztereó tremoló.980 Ft 

RT88/7 Shrfter.1200 Ft 

HE90f7 Kiszajúgitárelőerösítö.700 Ft 

RT89r5 Sztereóelőerösítö.1500 Ft 

HE91/12 Hangirekvenciás erősítő.490 Ft 

RT89r8 2 X14 W sztereó erősítő.990 Ft 

RT89/12 2 X 40 W sztereó erősítő.1800 Ft 

RT89/1 lOOW-oserősltő.1600 Ft 

RT90/3 Ritmusgép 32 rkmussat.2500 Ft 

RT90/10 Dobszintetizátor.3500 Ft 

RT88r3 Süvóltőgiáreflekt...780 Ft 

RT87/11 Ringmodulátor.995 Ft 

RT92Í4 Oktávemelö.700 Ft 

.VisszhangosítóMN3005-tel.4800 Ft 


VIDEÓS TÉMÁK: 


FÉNYTECHNIKA: 


RT8B/10 Diszkófény II (írlak nélkül). 1400 Ft 

Diszkófény II (Iriakkal).3000 Ft 

RT88ri2 Fényorgona.2000 Ft 

RT90/2 Programozható futólény. 1200 Ft 

RT91 /I 8 X 8-as fénymátrix 

-f 16 K EPROM.2000 Fi 

8 X 8-hoz LED panel 

10 mm-es LED-ekkel.2000 Fi 

RT89/6 Kivezétlésjelzö.700 Fi 

RT91/e Sziporkázó szingyürü.650 Fi 

Kétszínű LED.48 Ft 

HE91/10 Karácsonyi fényjáték.700 Ft 

HE92/8 KnighI Rider futófény.950 Ft 


EGYÉB HOBBI TÉMÁK: 


RT88(T0 Dallamgenerátor Z80-nal. 1500 Ft 

HE91 fi Dallamgenerálor UM3481 -84.800 Ft 

HE91/5 Dallamgenerátor LIM66Txx.480 Ft 

HE91 /4 Beszédfelrsmerö VCP200-zal.750 Ft 

VCP200. 1950 Ft 

HE9112 Kulyaugatás szintetizátor.600 Ft 

RT91/8 Eb-vezérlő.400 Ft 

HE91.'6 Szünyogriaszló.700 Ft 

HE91/9 Mullisziréna.480 Ft 


RT92i'6 RGB generátor. 1760 Ft 

RTOTflI PALkóder.1400 Ft 


Az árak a 25% ÁFA-t tartalmazzák! 


Választékunk folyamatosan bővül! A Rádiótechnikában, a Hobby Elektronikában megjelent 
nyák-tervek alapján készült nyomtatott áramköri lapok az üzletben megvásárolhatók. 


MŰSZERVÁSÁR 

Bontott anyagok, 
haaznált mOszerek 
böngészdéje 



Állandóan változó készlet! 




Vidéki olvasóknak segít a szerzó levelező, egységcsomagkúldó 
szolgáltatása: a megrendelt csomagot postán utánvéttel 
elküldöm. Telefonon/faxon és levélben is rendelhet. 

A HOBBI ELEKTRONIKÁ-hoz nem kell hosszú levél. Rendelését 
néhány sorban, egyértelműen közölje. 

Levélcím: 1656 Budapest Pf. 50. 


Az Üzletben megvásárolhatók az RT évkönyvei, a Rádiótechnika és a Hobby Elektronika korábbi számai. 



SKPfNcsLWriKirr 



















































































































, HOL, MIKOR? 

EGYESÜLETI ÜGYEK: Egyesületünknek tagja lehet min¬ 
denki, aki a tagsági díjat befizeti. A tagdíjat személyesen az 
egyesület ircxiájában (1025 Budapest, Vöröstorony utca 29. 
Telefon: 1-76-22-57), vagy átutalással az MNB 217-98 292, OTP 
565-3610-8 számlára lehet befizetni. Megrendelés esetén szám¬ 
lát küldünk. 

Pötyögőszolgálatunk valamint a szervizkedvezmény és az 
apróhirdetés lehetősége tagjaink rendelkezésére áll. 

A DEÁKPÁHOLY tagjai minden hónapban megkapják a 
C-újságot, a tagsági díj egy egy évre 890 Ft. 

A PLUSZPÁHOLY tagjai minden hónapban megkapják a 
C-újságot, és kapnak havonta 3 db vásárlási utalványt. A tagsági 
díj egy évre 2050 Ft. 

A SZUPERPÁHOLY tagjai havonta 15 példányt kapnak a 
C-újSágból, és ezzel havonta 15x3 db vásárlási utalványt is. Az 
éves tagsági díj 24 000 Ft. 

ÜGYFÉLFOGADÁS: Minden kedden és csütörtökön 12—16 
óra között várjuk tanainkat és az érdeklődőket. 
PÖTYÖGŐSZOÍXjALAT: Az újságban megjelenő programo¬ 
kat másolja a megrendelők részére. Megrendelhető személyesen 
az egyesület irodájában vagy postai utánvéttel. Postacím: 1388 
Budapest 62., Postafiók: 86. 

APRÓHIRDETÉS: Az egyesületi tagoknak ingyen áll rendel¬ 
kezésére. Nem tagoknak a hirdetés ára 100 forint. A hirdetés 
módja: az újságban megjelenő nyomtatvány kitöltésével. 

A C-ÚJSÁG RÉGEBBI SZÁMAI megvásárolhatók az egyesü¬ 
let irodájában, vagy megrendelhetők utánvéttel. 

Kedvezményes ár! Tagoknak olcsóbb! 

Az újságban eddig megjelent programok gépenként össze¬ 
gyűjtve megrendelhetők. VC 20, C16, PLUS/4, C128, C64. To¬ 
vábbi felvilágosítást is adunk a 1-76-22-57-es telefonszámon vagy 
levélben! 

Vidéki pluszpáholy-tagjaink háromhavi tikett összegyűjté¬ 
sekor igénybe vehetik a NOVOTRADE 2C Áruház csomagküldő 
szolgálatát. 

VIDÉKEN TOVÁBBI INFORMÁCIÓK KAPHATÓK: 

Baja, AXIS Kft., 

Győri Bartók Béla Művelődési Ház, 

Jászberényi Városi Könyvtár, 

Kecskemét, SZIGMA-BIT, 

Pécsi Apáczai Csere János Gimnázium, 

Zalaegerszegi Ságvári Endre Gimnázium. 



Az Országos Commodore Egyesület módszertani kiadványa 

Egyesületi iroda és szerkesztőség: 

1025 Budapest, Vöröstorony utca 29. Telefon: 1-76-22-57 

Felelős kiadó: Horváth Judit, az egyesület elnöke 

Főszerkesztő: Rados Péter, az OCE főtitkára 

Felelős szerkesztő: dr. Horváth András 

Művészeti szerkesztő: Bausz Sándor 

Levélcím: Commodore Újság, 1388 Budapest, 62. Pf.: 86. 

Index: ISSN 0237-756 X 

Terjeszti a Magyar Posta 

Megvásárolható a hírlapárusoknál 

92.0305 MSZH Nyomda és Kiadó Kft., Budapest 

Felelős vezető: Nagy László 


EGYESÜLE 



■.-■kAi- ' V ‘ 


tulajdonosok! 

Várunk benneteket az Országos Commodore 
Egyesület klubdélelőttjén a Havanna Közösségi 
Házban minden hónap 3. vasárnapján, délelőtt 9 
órától. Gépet és hosszabítót hozzatok! 

Cím: 1181 Budapest, Kondor Béla sétány 8. 
Megközelíthető: a metró kőbánya-kispesti végál¬ 
lomásától a piros 136-os busszal. 

Legközelebb: 

február 21-én, 
március 21-én és 
április 18-án. 


FELHÍVÁS 

Tisztelt Tagtársunk, Olvasóink! 

Kérjük, hogy ha rendelkeznek olyan működő számító¬ 
géppel, vagy jó állapotban lévő bármilyen számítógép¬ 
tartozékkal, amire nincs szükségük, akkor hozzák el 
egyesületi irodánkba (minden héten kedden és csütörtö¬ 
kön 11-15 óra között). 

Mi összegyűjtjük és eljuttatjuk azokat határainkon túli 
(erdélyi, kárpátaljai és szlovákiai) magyar iskolákhoz. 
Köszönettel: , , 

Országos Commodore Egyesület 


Tisztelt Szerkesztőség 


Régi és hűséges olvasója vagyok a C-Újságnak. Sok jó ötlet¬ 
tel találkoztam már cikkeikben, többek között a most általam kö¬ 
zölt témákkal is. 

Az első, pár soros programom a DATA adatok begépelését 
könnyíti meg. Igaz, első megközelítésre furának (pnik, de ennél 
nem kell különféle kezdő- és végcímeket állítgatni, meg POKE- 
olni. Egy abszolút kezdő is könnyen használhatja. 

Egyébként ennek elbírálását Önökre bízom. 

A másik egy ugyancsak régen lerágott csont: a magnó han¬ 
gossá tétele. Sokat foglalkoztatott a dolog, ugyanis a legelső gé¬ 
pem egy PRIMO volt. Ismerős ugye? Hangos a billentyű leütése, 
és hangos a szalag beolvasása, sőt beolvasásnál figyelemmel le¬ 
hetett kísérni a rekordok számát, valamint a felvételi hibát. 

Bizony ezek a ,,kis” plu.szok a jóval drágább rokonoknál hi¬ 
ányoznak. így jutottam el a különféle próbálgatások során a kö¬ 
zölt ötlet megvalósításához. 

Mióta ezt a kis csipogót beszereltem a magnóba, nem gond 
megtalálni a szalagon a programok elejét, végét, illetve az üres 
helyeket. 

E két kis ötletet szeretném közreadni amennyiben ezt Önök 
is jónak látják. 

Tisztelettel: 

Kadlicskó József 


3 


O 















EGYESÜLET 


DATA beíró 

A program használata: 

Indítás után a gép kérésére beírjuk azt a sorszámot, ahonnan 
a DATA kezdődik. 

A négy egymásba ágyazott I, J, K és D ciklusok segítségével 
csak a DATA-ba kerülő adatokat kell beírni, minden mást a gép 
végez el. 

Tulajdonképpen az történik, hogy parancs módba kerül ki¬ 
írásra a sorszám, a ? (CHR$(63)), idézőjel CHR$(34) idézőjel¬ 
ben a sorszám és a DATA (A$) s az adatok végére újabb idé¬ 
zőjel ". 

Ha van a DATA végén ellenőrző összeg, akkor az a D ciklus¬ 
sal ugyancsak beírható, ha nincs akkor az 55—65 sorra nincs 


szükség, viszont az 50. sor folytatásaként be kell írni: 
CHRS$(34). 

Nagyon ügyeljünk a programban lévő ,;-re. 

Amikor a ciklus végére értünk, a képernyő alján lévő utasí¬ 
tást kövessük. A kurzor mindig a sorszám előtti üres helyekre 
kerül, itt nyomjuk meg mindig a (RETURN) billentyűt. 

Majd )RUN kezdő sorszám. Ekkor kiíródnak a sorszámmal 
ellátott DATA sorok. Ezeket ismét RETURN-al vigyük be a 
gépbe. 

így folytassuk mindaddig míg a végére nem érünk a DATA 
adat bevitelének, természetes a kezdő sorszámok mindig az elő¬ 
ző adatok folytatásaként következnek. 

Ha minden adatot beírtunk, akkor a programot töröljük s 
helyére beírjuk a DATA beolvasó-, ellenőrző programot. 

így leírva talán kicsit bonyolultnak látszik, de a kezelése an¬ 
nál egyszerűbb. 


o 

1 


O 


2 

RÉM 



o 

3 

RÉM ^ GYORS DATa-BEIRÖ 


O 

4 

RÉM * C= 64 t4 



o 

5 

RÉM ♦ . . V 


O 

6 

RÉM =.< KADLICSKO JÓZSEF PÉCS 



10 

PRIÍÍT CKR$ (147) :A|="DATA" 



o 

15 

IIÍPUT"QQ DATA ELSŐ SORSZÁÍ/Dt:" 

;A:?"SH/HÜIáE|HOr.-!E|"; 

O 

20 

FÓR I=A TO A+10 



o 

25 

PRINT : CHR$(63)CHR$ (34)I;a$" 

fi • 

O 

30 

:: FÓR J=1 TO 8 



35 

:::POR K-1 TO 2 



o 

40 

:::GET V$;IF V$="” THEN 40 


O 


45 

::;PRINT V$; :NEXT K:PRINT "," 

> 



50 

::NEXT J 


O 

o 

55 

POR D=I TO 4 



60 

GET VE: IP V$=’"’ THEN 60 



o 

65 

PRINT VS;:NEXT D:PRINT CHR$(34) 

O 


70 

flEXT I 




75 

PRINT" 1. <H0LrE> SORSZÁM 

ÓNKÉNT <RETURN>" 

O 

o 

80 

PRINT" 2. <TÜRLES> - >RUN "A:?"6 üP" 


85 

END 



o 

lOCO 

PRINT"Q <H0I.'nr> SORSZÁMONKÉNT 

<íRETURN> " 

0 



Hangos DATASZETT 

Sok gondot okoz a COMMODORE gépek űn., ,némasága”, 
különösen amikor szalagról töltünk be programot. Ezzel kap¬ 
csolatban már sok cikk jelent meg pro és kontra. 

Most egy általam már hosszú idő óta alkalmazott ötletemet 
szeretném megosztani C-os társaimmal. 

Egyszerűen — bárki által — megoldható az ötlet, nem kell 
hozzá más mint a kisebb műszaki alkatrészboltokban beszerez¬ 
hető HPE-200 típ. piezo sugárzó. Ára: 120,— Ft. Pécsett a Király 
u. 37. alatti műszaki boltban kapható. 

Szerelési útmutató: A magnó csatlakozó dugóját szét kell 
szedni a kis csavar eltávolítá,sával. A csatlakozó fedelének egyik 
oldalán van egy kis 1 mm-es nyílás, ezt kell pár tized mm-rcl 
nagyobbra kivágni. 

A sugárzó piros színű vezetékének lecsupaszított végét dug¬ 
juk be a fehér színű vezeték forrasztási helye mellé. A bátrabbak 


oda is forraszthatják. Ugyanígy a fekete színű végét a kék színű 
vezeték beforra.sztott vége mellé. A négyes érintkezők közül a 
kék a szélső, a fehér a 3. 

A fedeleken lévő furatokat 3 mm-re bővítsük ki s kerítsünk 
egy az eredeti csavarnál kb. 4 mm-rcl hosszabbat, s ezzel rögzít¬ 
sük a sugárzót a csatlakozó C-jcIű oldalára. Előtte azonban a ve¬ 
zetékeket a kibővített nyíláson hozzuk ki. Ezzel kész is a kis 
csipogó. 

A szerelésben jártasabbak elhelyezhetik a magnó belsejé¬ 
ben is a csipogót a piros ledet rögzítő csavar alá. 

Egy 20x5x1 mm-cs bakelit lemez mindkét végére készít¬ 
sünk 3 mm 0 furatot. Az egyik végére a csipogót, a másik végé¬ 
re pedig a led-et rögzítő csavart erősítsük. Á huzalokat meg kell 
hosszabbítani úgy, hogy azok a motor mellett elérjenek a megfe¬ 
lelő színű kivezetésekhez. 

A kék színű vezeték a panel mellett lévő kis kapcsolónál van, 
a fehér pedig a panel hátsó végénél. A kékhez történő forrasztást 
megkönnyíti, ha panelt rögzítő két kis csavart eltávolítjuk és a 
panelt kissé elfordítjuk. Forrasztás után a panelt ismét a helyére 
rögzítjük. 















EGYESÜLET 




o 


o 


o 


o 


o 


o 


o 


o 


o 


RÉM 

RÉM 

RÉM 

RÉM 

RÉM 

RÉM 

RÉM 

RÉM 

RÉM 

RÉM 


f/. fi *■*■*■*■*■***■* t *■*■**■* ******* 


C=UJSAG 


50RSZAM 


033 


PROGRAMKOMYVTflR 


JAVÍTOTT VÁLTÓSÁT 


Tisztelt Szerkesztőség! 


A mellékelt lemezen található Gárdonyi Gergely „Prog¬ 
ramkönyvtár” című programjának (C-Újság, 1988/1.) általam 
kissé b<5vített változata és külön a bővítés listája. 

A bővítéssel a program nyomtató nélkül is jól használható. 
A tartalom az FI billentyű lenyomásával laponként a képernyőre 
listázható. 

A módosítást felajánlom a C-Újságban való közlésre. 

Üdvözlettel: 


Haraszti Árpád 


program: gárdonyi GERGELY 
JAVITAS: HARASZTI ÁRPÁD 

230 PRINT:PRINT''|*WU::'. LISTÁZÁS KÉPERNYŐRE < TOVÁBB ' F 1 ' ) 

661 IF<Fz'20=INT<F/'20) )ANDCF< >DB-1 )AND<F< >0)AND<F< >1 )THENGOSUB2500 

800 PRINT«4,"| NEV"CHRÍ<16>"43""HOSSZ ID"; 

810 PRINTI44,"a NEV"CHRÍ< 16) "68" "HOSSZ ID" O 

870 PRlNTtt4, " "NítF)P45"19"H(F )P$"24"I*<F )"I"NÍ<A+F)PÍ"44"H<A+F)P*"49"IÍ<A+F); 

330 PRINTtt4 , "I "Nf <B+F)P:Í"70"H<B+F)PÍ"75" I$<B+F) O 

2500 GETA$: IFAÍ="ÍÍ"THEN RETURN 
2510 GOTO 2500 
READY. 


Tisztelt Szerkesztőség! 


Datásító C-F4-re 






O 

o 

0 

goto62990 


1 

da ta 

4c7c0c484a4a4a4a20120c6829,313 



2 

data 

0f20120c6020210cc90a9003ie, 278 

O 

o 

3 

data 

6907693091d460e6d4d002e6d5,715 



4 

data 

60bd640dl865d491d420210ca5,536 

O 


5 

data 

d5690091d4e8bd640de8c900f0, 75a 

o 

6 

data 

0920210c91d4c900d0ef60a200,545 



7 

data 

20280ca5dl20030ca5d020030c,39d 

O 

o 

8 

data 

203a0ca5d7200c0ca5d620030c, 3c4 

9 

data 

203a0c20420c20210c20280c20. 195 



10 

data 

420ce0b090í360788d3f f fa00a, 6ae 

O 

o 

11 

data 

b9590d91d48810f8a5d0a4dl48, 746 


12 

data 

9848a90085d685d7a5d4852bl8,681 



13 

data 

690b48a00091d4c8a5d5852c69,61d 

O 

o 

14 

data 

0091d485d56885d4a5d4186925,69f 


15 

data 

a00091d4c8a5d5690091d4c8e6, 7c3 



16 

data 

d6d002e6d7a5d691d4c8a5d791,91a 

O 

o 

17 

data 

d4c8a98391d4c8a92091d4a5d4,89c 



18 

data 

1869059002e6d5e5d4a20da900,584 



19 

data 

85d985daa000b1d04ei865d990, 70c 

O 

0 

20 

data 

02e6da85d96820030ce6d0d002,63í 



21 

data 

e6dlcad0e520210ca92c91d4a5, 762 

O 

ü 

22 

data 

da200c0ca5d920030c20210ca9. 3b5 

23 

data 

0091d420210ca5dlc5d39087a5.6 7c 



24 

data 

d0c5d290816885dl6885d0204c, 75f 

0 

o 

25 

data 

0c20210ca90091d420210ca900,3Sd 

26 

data 

91d420210ca5d4a6d5652d862e, 60c 



27 

data 

8d3et t584c03870cl000008936,3d3 

0 

Q 

28 

data 

3330303000211816e83a53b2dl, 4ea 


29 

data 

28220022293a4bb2303a51b2dl, 40a 



30 

data 

2822002229000f19f68149b231,360 

0 

o 

31 

data 

a4513a4cb230000claí6874124,465 

32 

data 

3a874224001fIbf6814ab230a4,4a8 



33 

data 

31323a42b2dl28ca2841242c32,43f 

o 

o 






Nem mindenki szereti, ha kedvenc 
számítógépes lapjában hcxdump listákkal 
találkozik, aminek bevitele elég nehézkes 
és ha elgépeljük, senki .sem szól ránk, 
hogy hibásan írtunk be valamit. S ha ezek 
után a program meg fut is, az a legbosz- 
szantóbb, hiszen bármikor előjöhet a nem 
kívánt programhiba. Ilyenkor mindig a 
programozót szokták szidni, holott sze¬ 
gény nem tehet róla, hogy nincs egy jó 
BASIC DATA sorokat készítő programja. 

Nos, kedves programozók, íme az 
áhított program. Igazán nem hosszú. ,,Na 
persze,” mondhatnák most, ,,öt perc alatt 
írok egy datásítót BASIC-ben.” Ennyi idő 
alatt ezt a programocskát is be lehet gépel¬ 
ni. De most jön a lényeg: a BASIC DATA- 
készítő jó e.setbcn 10—15 PERC alatt 
végez a programmal, és még minden¬ 
féle számításokat is kell végezni, hogy a 
bevitel is helyes legyen. Az itt bemu¬ 
tatott DATA-készítőt a Wash & Go sam¬ 
ponhoz hasonlíthatnám, csak beindítjuk 
és kész: a leghosszabb bevihető program¬ 
mal (14 Kbyte, ennél több DATA sorok 
formájában be sem fér a memóriába) 
2,8 MÁSODPERC alatt kész van, és a 
BASIC program azonnal menthető, nincs 
szükség a feleslegessé vált DATA-készítő 
sorok törlésére. 

Rckordsebességc mellett a program 
még ellenőrző kód készítését is elvállalta: 
a BASIC program indítá.sa után azonnal 
ordít, és a hiba helyét is megmondja. 
Idegeskedő természetű emberek számára 
lefelé számol a gépi kód bevitele alatt. 
Amint kiírta a ,,Készen vagyok” üzene¬ 
tet, a gépi kód indítható, ellenkező eset- 




5 












PROGRAM 


Cf 


o 

o 

o 

o 

o 

o 

o 

o 

o 


34 data ac4aaa312c322929000b 1 cf697,435 

35 data 53aa4b2c4200101df64bb24baa, 4cb 

36 data 313a4cb24caa4200l4leí6S23a,485 

37 data 99221322203b51ab49229d2022,391 

38 data 00251ff66b4cb3b1d126422429,4rd 

39 data a7992246494241212d2d3e2249,39a 

40 data 222e20534t5221223a90000620,297 

41 data f682001721f69922934b45535a,531 

42 data 4 54e20564147594'f 4b21220000,2c7 
62990 scnolr:charl,0. 15,chr$(27l*-"t" 

63000 s = dec("0C00”1:k = 0:q = dec1"02a") 

63001 íori = 1toq : I=0 

63002 reatía*:readbi 

63003 íor} = 0tol2:b = dec(mid't(at,2'<j*l,2)) 

63004 pokes + l;, b 

63005 k = is + l : 1 = I +b 

63006 nex t: pr 1 nt"5" :q-i"|] " 

63007 iíl<>dec(bt)thenprint"hiba!--,-"i’'. 

63008 next 

63009 pr i nf’gkeszen vagyok 1" 

63010 print " jiE&ti'Iil s "chr$ (34 ) "dat "chr$ l 34 >' 
8 0C00 0e21 bIbÍbIsí?'" ; :monitor 


sor!”:stop 


o 

o 

o 

o 

o 

o 

o 

o 


ben javítsuk ki a hibás adatot, és indítsuk 
újra. A BASIC forinátuni az itt bemutatot¬ 
tól csak hajszálnyival tér el, ugyanis azt 
egy kiesit kib(5vítettem egy képernytiab- 
lakkal és egy MONTTOR-ba lépéssel. 

Ha bevittük a BASIC sorokat, ame¬ 
lyeket mint említettem, saját magával ké- 
-szített a program, máris láthatjuk az ered¬ 
ményprogram működését, és megjelenik 
a MONITOR-ban egy S (savé) parancs. A 
név tetszés szerint átírható, ha kazettára 
mentünk, a 8-ast l-esre írjuk át (csak a ke¬ 


vésbé jártasak kedvéért). Ezután a prog¬ 
ram használata már igen egyszerű; 

1— Lépjünk be MONITOR-ba. 

2— Körülbelül a képernyő 15. sorának 
elején nyissunk ablakot (ESC T). 

3— L"DAT",8 vagy, 1. 

4— Töltsük be a DATA-sítandó gépi kódú 
programot a helyére. (Ha nem használja 
a $0C00-$0E2I memóriaterületet, a 
DATÁ-sító előtt is bent lehet.) 

5— $D0-ra ebben a sorrendben írjuk be 
a következő adatokat (LO-HI): 


program kezdőcíme, program végcíme, 
BASIC kezdet. 

PL: >d0 00 10 00 18 01 18 

6— írjuk be: g OCOO. 

Ezek után legfeljebb 2,8 mp múlva 
megjelenik a READY télirat, ekkor 
BASIC-ból adjunk ki egy SAVÉ paran¬ 
csot. Jó tanács: a BASIC kezdetet olyan¬ 
nak válasszuk, amely nem fogja bántani a 
programunkat. Legjobb, ha közvetlenül a 
program utáni üres helyet adjuk meg BA¬ 
SIC kezdetként, illetve, ha a programunk 
a memória végén helyezkedik el, nyugod¬ 
tan megadhatunk $1001-et is. A példánk¬ 
ban az $1000—1800-ig terjedő program 
$1801-től kerül DATÁ-sításra. Figyelem: 
ha a programunk nem 1010 előtt kezdődik 
és ha a BASIC .sorokat $1001-re töltve an¬ 
nak végcíme NAGYOBB, mint a progra¬ 
munk kezdőcíme, akkor inkább jegyez¬ 
zük meg, hová tettük DATÁ-sításkor a BA¬ 
SIC kezdetet, és a BASIC program betöl¬ 
tése eUJtt a $2B-2C címekre írjuk ezt be. 

Egy kis műhelytitok: a program 
gyorsa.sága abban rejlik, hogy egész mű¬ 
ködése alatt egy ujjal .sem nyúl a BASIC 
szerkesztőhöz, tehát nincs beszúrás, ren¬ 
dezés stb. Ennek apró hátránya viszont, 
hogy ha voltak BASIC soraink a megjelölt 
helyen, azok elvesznek (hacsak nem men¬ 
tettük ki őket). De azt hiszem, ahhoz ké¬ 
pest, amit a program nyújt, ez elhanyagol¬ 
ható csekélység. 

Nagy Attila 


Catalog-Check (CTG) 


Tegyük tél, hogy van egy lemezem, rajta 80 fiié, és a validá- 
láskor kiderül, hogy az egyik hibás. Melyik? Na, ekkor kell a 
CTC-t elindítani. Ez ugyanis a bejegyzett file-ok logikai láncát 
ol vas.sa végig, ellentétben a lemez-ellenőrzők zömével. Ha hibát 
talál, megjelöli a hibás, és az azt megelőző blokkot is, ez a lé¬ 
nyeg. Igyekeztem sokféle hibára télkészülni, például hurokba 
zárt katalógussal, két fiié által is használt blokk, vagy valótlan 


file-hossz esetére (vírustünet is lehet). 

Indítás után megadhatjuk, hogy a teljes katalógu.st ellenőriz¬ 
ze, vagy az általunk kijelölt bejegyzé.seket. Ha végzett, felsorolja 
a hibás file-okat, és ezek bármelyikét kijelölhetjük törlésre. Tör¬ 
lés után külön utasításra validál is. 

Hódi Gyula 


o 

0 

reríi :*:*:*: ctc v2.01 


o 

o 

1 

rém <c> hódi gyula - 9009 


o 

2 

me=144: mt=35: rns=20; bt=18; bs=l: brn=0 



3 

poke 53230,11: poke 53231,0: poke 650,12:3: poke 733,: 

j>2 


o 

4 

dim a,'í < me, 1 > , e-’l < me> , IK <me> , ni CmeCme, ti (. 6> , w."-;<me 

',b:';<fi'it,n'i£. > 

o 

5 

£$='• ": ui-"—": fór i = l to 4: si--si+si; ui=ui+ui: i- 

'ceiiít i 


6 

ui= 1 e f ti (. ui, 29 > : zi=chri O > 



o 

T 

riií0> = "* directory : t';<0>=5: bK<bt,0>=l 


o 

8 

fór i=0 to 6: read ti<i>: neixit i 




9 

rern- 



o 

10 pririt "aaiUS) -Jíi catalog-check v2.01 lig by d-aveJ-Bsl" 


0 


o 


MÁRCIUS 


6 











PROGRAM 



o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


o 


o 

o 

o 

o 


11 pririt " Sinsert dia-k to checkSi" ; gosub 142: cl őse 15; if v='3 then llö 

12 open 15,8,15^"10": gosub 144: if e then gosub 142: goto 10 

13 fór i = l to ms: b;-l<bt, i>=0: next i 

14 open 3,8,8,"#"; print "ÍJ “ reading active fi les -33“ 

15 q=0: z=0; c=0: n=0: t=bt: s=bs: a=bt: b=bríi 

16 print " U- 1 -lU-,-■-1" 

17 print " I ti slI filename ItypIlenI" 

18 print " I-1-1 I-—1-ILI-1" 

13 print "Ilii I I II I" 

20 print " J-'-l<J-'-'-KJ-KH" 

21 rém-1. 

22 if t=0 then 45 

23 print "S (lia"right:j:<strí:<t>,2V||"right$<str$ís>,2:> 

24 print#l5,"ul:";8;0;t;s; input#l5,e,el;: if e=0 then 27 
25q=l: a:;<0,O>=t: a-;';0,l>=s; u-;C0>=a;|í256+b; e:;<0>=e 

26 print "513 :lHi| error in directory " : goto 45 

27 if b;'.'i:t,s> then print "BE] 3 directory loop "; z=l ; goto 45 

28 bK< t, s> = 1 : pr int# 15,"b-p; "8 0 : a=t: b=s 

29 gosub 140; t=x: gosub 140; s=x 

30 rém - 

31 fór i=2 to 255 step 32: printttl5,"b-p;"8;i 

32 get v$: if v4;="3" then 45 

33 gosub 140; if íx and 128:>=0 then 43 

34 n=n+l: x=;x and 15: if x>4 then x=6; e^;<n;| = 100: q=q+l 

35 t.’;ín>=x: gosub 140: a.";<n, 0>=x; gc-sub 140: a'lín, 1 ::i=x: w'l<n>=aí:256+b 

36 v.f="": fór j = l to 16: gosub 140; if x<>160 then v'í=ví+chrí<:S> : next j 

37 ní<n>=ví: if vS="" then e;iCn>=200: q=q+l 

38 if t?:<nK>4 then 48 

39 print#15, "b-p: "8, i + 19; gosub 140: v=256*<x and 127> : gosub 140: wK';n:)=v+x 

40 print#15,"b-p;"8;i+27: gosub 14ü; v=256*íx and 127>: gosub 148; lK<n>=v+x 

41 print "Sia"tab';9>; : ví=leftf O'iíín'i+sf, 16;) ; gosub 138 

42 pr i nt "II" t$ < t'/. < n > > " M" r i ghtí ■: " " +strí ( 1 < n ') >, 3 > " Ilii" r i ghtí < " " +str$ L n!), 3 > 

43 next i: goto 22 

44 rerrr-2. 


45 i f n=0 then print "5C3 jjg no fi les ": goto 108 

46 print "50 ű'^heck each fiié? y" 

47 gosub 142: if v/=S9 or v=l:3 then 62 

48 if v=3 then cl őse 8: goto 10 

49 if v<>78 then 47 

50 print "aJüSl S-assign the fi les to checkIS)" 

51 print "íi nr filename typ len": print u$ 

52 rém - 

53 c=0: fór i=l to n 

54 print rightSí" "+str*< i >, 3>" gosub 121: print " yxnMJlJEiJ" ,1 

55 if &'/.<. then print "jSSerrSii" ; goto 68 

56 gosub 142: if v=S9 then print "űlyesSi" ; goto 68 

57 if v=78 then print "noa ": tM'; i ;)=-! : c=c+l: goto 68 

58 if v< >3 then 56 


59 

60 
61 
62 

63 

64 

65 

66 

67 

68 

69 

70 

71 

72 

73 

74 

75 

76 

77 

78 

79 
30 
81 
82 


print 
next i 
rém — 


: fór i = i to n: t';';i5=-l; 

: if c=n then 108 
-3. 

"SíiSTEI “ checking the assigned 


pr i nt 

print " U- 1 - 

print " I nr I fiién 

print " I-1- 

print " I I 

print " J-'- 

print tab<14>"U- 1 -lU-1’ 

pr i nt tab < 14 > " I-1-1 I-1' 

print tab<14>"J-■-líJ-!<;" 

fór i = l to n: if tkXiXO or e 
print “3503SI=ET50lllÍia".: : gosub 


tgp I len I 
——I 1 


print 

print 

lici:) 

120 ; 



I ÍI" r i ghtí < " " +strí < q >, 3 > " íi r 


tab< 14;) 
tabC14>"I 


I Ibik I' 

II I' 


then 83 
print "SiJíCüEig" 


a=intíw";'ii >X256:) 
goto 110 


b=w;i(:i> and 255 


i = i;;<i>; 0 = 0 : t=ari<i,0>: s=aK<i,i> 
v=0: gosub 112: if v=3 then print ; 
if e then 78 
if t;i<i>=4 then 81 
if l=c then 83 

q=q+l : print "sSBisE'&tsE'lsVI'' tab<34>r iqhti'< " 
eKíi:'=300: t:;<i>=t;':a';' or c;#3; goto 83 
e-; C i:) =e ; w;-; í í > =aí:256+b: 1,7. < i , 0!) =t: aK C i , 1:) =s : t:-: < i >=t;i <i> or cts : goto 83 
if IKCiXO then 77 

t=int':w:í<i>x256> : s=ui;;<i> and 255: a=13: b=0; 


'+Strí':q:),3>"g!0r50": if e then 88 


i::a;)=-i':<i>; goto 74 


O 

O 

O 

O 

O 

O 

O 

O 

O 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


a 


7 


MÁRCIUS 






















PROGRAM 



-;h 


O 

O 

o 

o 

o 

o 

o 

o 


33 next i: clőse 8 

34 rém-4. 

85 if q=0 theri prinfc "iílSl igevery checked fiié is ok. Éji" ; goto 183 
36 print "'50 Sg-assigri the fi les to llij»s.cr.?itchia|l ! 3fii" 

87 print " nr filename typ len": print uí"S]" 

33 c=0; fór i=0 to n: if e”';i>=0 theri 96 

89 Ciosub 124; if i=0 then print : goto 96 

90 print "Sl5]"tab':36>"Siy'-r,|Uillll8i::J|"; 

91 if ní<i>="" then 95 

92 gosub 142: if v=S9 then print "iayesBiil«t?l" : c=c+l : goto 96 

93 if v=3 then print : goto 118 

94 if v< >73 then 92 

95 print "no£| SIS]": e>;a>=0 

96 next i: if c=0 then 103 

97 if z then c=0: goto 102 

98 print "SJ3I5J!] i&M'alidate after scratching?EE«]!Í!)" : c=0 

99 gosub 142: if v=39 then c=l: goto 102 

100 i f •<••< >73 then 99 

101 rém - 


O 

O 

O 

O 

O 

O 

O 

O 


O 

O 


102 print "ain«K] - scríitching -" : printttlS, " iO" : gosub 144; if e then llO 

103 fór i = l to n; if e"i<i>=0 then 1016 

104 print "S]"i"El- "tsibi;7>;: v$=nííi>; gosub 133: print 

105 pr i nt# 15," s0 ; " +ní: < i > : i nput# 15, e 

106 ne:«t i: if c then print "SIsl “ Validat ing -SÍ": pr intU15, "v0i" ; gosub 144 

107 rém-end 


O 

O 


O 

O 

O 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


108 print "Síi - end - fi" 

109 Cl őse 3: cl őse 15: poke 650,8: poke 73:3,49:.. end 

110 print "aSTSI 3 program aborted B.ÍE3" : goto 189 

111 rém ====== b-r 

112 if t=0 then return 

113 get v$: if ví-="3" then v=3: return 

114 c=c+l ; ví=rightíCstrí t:), 2> + "í.l"+right:f ístríCsí , 2> + "!!.lll«l"+r ight'í C " "-i-str$';c> , 3> 

115 print "Hia"tab< ISj'ví 

116 pr i nt# 15, "u 1 : " 3J 01 ; t; s ; i nputtt 15, e ; i f e tlier. return 

117 if brí';t,s> then e=400; return 

113 b;i<t,s> = l: a=t: b=s; gosub 140; t=:K:: gosub 140: &=:!■;: goto 112 

119 rém ====== linel 

120 print rightíí" "+strí^C i > , 3> "61"; 

121 ví=left$:<ní< i J+sí, 16> ; gosub 13£i 

122 print "ytíít/ií i > and 7> "U“rightí C " "+str;t:';abs< IMC i > > > , 3> ; ; return 

123 rém ====== lirie2 

124 print rightíC" "+str#<i>,3>" ";: gosub 121: print : e=e;;<i> 

125 if e=100 then print , , "iölSütype error" : return 

126 if e=200 then print , "SSempty name" : return 

127 if e<>300 then 129 

123 print ," gSincorrect length ü'', "rnidí ístríí intít";': i >xs> > , 2> " > " : return 

129 print " Si"; : if l';<i><0 then print "Ei#"; 

130 print rightíí" "+strS< int<tM'; i >xi3> > , 3> " . blk 

131 pr i nt r i ohtí ■: " 3 " +mi dí < strS < alí ■: i , 0> > , 2 i , 2> " -" .: 

132 print r iqhtíí "0"+midí<strlr<a‘;<; i , 1 > > , 2> , 2> ; ^ ' 

133 pr i nt " í r i ghtí í " 0 " +m i d:f < strí ■; i nt < wli < i > x256 > > , 2 > , 2 > " - " .; 

134 print r ightí í "8"+midíístrí''':w’;í i > and 255>,2>,2>"> " .: 

135 if e=400 then print "iCS'Overlap" : return 

136 print "err ; "rightí í "0"+mid#ístrí íe'X i > !), 2> , 2> : return 

137 rém ====== print name 

13:3 poke 216,16; fór y=l to 16; print midi Cví, y, 1 >; : next y: poke 212,0: return 
139 rém ====== get# 

1401 get #:3,xi: x=asc<xi+zi:) : return 

141' rém ====== get . 

142 wait 197,64: poke 193,0; wait 193,15: get vi: v=asc';vi> : return 

143 rém ====== error 



O 

O 

O 

O 

O 

o 

o 

o 

o 

o 

o 

o 

o 

o 


MÁRCIUS 8 














TÁJOLÓ 


Számítógépes fogalmak 

Lexikon 

XIII. rész 


RÉSÉT 

A rését alatt egy olyan folyamatot 
értünk, amely a számítógépet (pl. a 
C64-est), vagy a perifériákat alapállapot¬ 
ba viszi. Alapállapot alatt a bekapcsolás 
utáni állapotot értjük. A C64-es procesz- 
szora erre a célra egy külön rését vezeték¬ 
kel rendelkezik, amelynek használatával 
(resetjel) elvégezhető a kívánt művelet. A 
C64-es esetében ilyenkor biznyos tároló¬ 
cellák egy meghatározott értékre lesznek 
beállítva. Beállítjuk az úgynevezett be¬ 
kapcsolási színeket a képernyőn és a csat¬ 
lakoztatott készülékek télé is küldünk egy 
rését jelet. Akinek van egy úgynevezett 
rését kapcsolója (ezt a szaküzletekben ke¬ 
reshetjük), megspórolhatja a számítógép 
állandó ki-be kapcsolgatását az7.al, hogy 
megnyomja az adott gombot. Ez a mód¬ 
szer ráadásul kíméletesebb is, mert ekkor 
nem lép föl a bekapcsoláskor az építőele¬ 
meket (igen rövid ideig érő) indukciós 
,,sokk”. így jobban védjük a C64-cs 
elemeit. 

A resetet általában akkor kell kiválta¬ 
nunk, amikor a rendszer valamilyen oknál 
fogva lemerevedett, ,,kiakadt”. Mivel a 
rését .során a C64-es e.setébcn csak a fon¬ 
tos mutatók beállítása és a kazettapuffer 
törlése történik meg, ez hasznos eszköz a 
programozásban is. Gépi kódú progra¬ 
mok vagy grafikák ugyanis változatlanul 
a tárolóban maradnak (kivéve az említett 
kazettapuffert). 

STEPPERMOTOR 

Ezt léptetőmotornak is nevezik. A 
1541-es meghajtómotorjával ellentétben a 
léptetőmotor az író/olvasó fej mozgatᬠ
sáért telel. Attól függően hogy hova kell 
írni az adatokat a lemezre, húzza vissza 
vagy viszi előre a léptetőmotor a fejet. Ez 
a felelős a régi 1541-esnél a lemezformatá- 
láskor hallható kattogásért, mivel ekkor a 


motora tejet ütközésig visszahúzza, hogy 
a műveletet egy meghatározott nullapont¬ 
ról kezdje el. A fej meghajtása nem köz¬ 
vetlenül történik, hanem egy fémszalag 
segítségével, amely átvi.szi a mozgatáso¬ 
kat a tejre. Erre a szalagra van a tej tartója 
tclerősítve, amely síneken fekszik, így a 
fej két mozgásirányra szilárdan rögzítve 
van. 


ÍRÓ/OLVASÓ FEJ 

A floppynk eme alkotórésze veszi át 
a lemezreírás tulajdonképpeni feladatát. 
Az egész elem két részből áll, magából a 
fejből és egy kis filcből, amely a lemezt 
föntről a fej irányába nyomja. Természete¬ 
sen egy lemezre nem a szó hagyományos 
értelmében írunk. Sokkal inkább az törté¬ 
nik, hogy a tej a lemeznek azon részét 
mágnesezi, ahonnan később az adatokat 
olvasni szeretnénk. Az olvasá.snál tehát az 
írási művelet megfordul. Ez azt jelenti, 
hogy ekkor az író/olva.só fej azt ellenőrzi, 
mágnescs-c az éppen vizsgált rész. Innen 
kerülnek azután az adatok a számítógép¬ 
be. A fej szilárdan rögzül a léptetőmolor 
fémszalagjára, és ezen kívül két sínen csú¬ 
szik. így a fejet nem lehet sem balra, sem 
jobbra kitéríteni. Az ellennyomást kifejtő 
filc gondoskodik emellett a lemez és az 
író/olvasó fej megfelelő kapcsolatáról. 

TÁROLÓ MÉDIUMOK I. 

Hogy adatokat tartósan tárolhassunk, 
több lehetőség is a rendelkezésünkre áll. 
Ma már szinte történelmi tárolóc.szköz a 
hagyományos magnószalag. Az adatokat 
itt a zenéhez hasonlóan visszük föl egy¬ 
más után. Ennek a módszernek a legna¬ 
gyobb hátránya a lassú sebesség. Jelenleg 
az. információ tárolá.sának legnép.szcrűbb 
elemei a mágneslemezek. Különböző mé¬ 
retekkel találkozunk, amelyek mögött kü¬ 


lönböző tárolókapacitás áll. Eredetileg 
8 collos lemezeket ha.sználtak, de ezek 
kezelése túl bonyolult lett. Ezekre a leme¬ 
zekre megabyte nagyságrendű adatmeny- 
' nyiségeket lehet fölvinni. A 1541-es által 
használt 5 1/4 collos lemezek manapság a 
legáltaláno.sabban elterjedt információ¬ 
hordozók. Ezekre a ha.sznált meghajtótól 
függő kapacitással lehet adatokat írni. A 
I34l-es floppy például 166 kbyte adatot 
képes ezekre írni. 

TÁROLÓ MÉDIUMOK II. 

A lemezpiacon a legfiatalabb lemez¬ 
méret a 3 1/2 coll. Ezeket például a Com¬ 
modore Amiga használja. Ezeknél is sok¬ 
kal nagyobb kapacitást jelentenek az úgy¬ 
nevezett tixlemczck. Ezeket azonban álta¬ 
lában csak a PC-khez kínálják, bár az 
USA-ban létezik egy fixlemez a C64-hcz 
is. A fixiemezek manapság gigabyte 
nagy.ságrcndű információk befogadására 
képesek, ezeket azonban csakis a nagygé¬ 
pes számítóközpontokban alkalmazzák. 
A legújabb, ma még kis.sé kiforratlan táro¬ 
lóeszköz a Compact Disc. Ezekre, a HiFi 
világából ismert szeletekre igen nagy 
mennyi.ségű adatot lehet fölvinni. Ugyan¬ 
akkor az ezek olvasásához szükséges ké- 
•szülékek csakis a PC-k számára elérhe¬ 
tők. Emellett ez a technika még nem 
nevezhető beérettnek, s az alkalmazása 
igen drága is. 


RAM operációs 
rendszer védelme 

Ha kimásoltuk az operációs rend¬ 
szert a RAM-ba, s ezután el akar¬ 
juk kerülni, hogy egy (RLJN/ 
STOP) -I- (RESTORE) kikap¬ 
csolja ezt, elég, ha beadjuk a 
POKE 64982,53 utasítást. 

Directory lístavédelem 

Aki a lemezeit .szeretné listázás 
ellen védeni, a jövőben a követke¬ 
ző utasítással formatálja azokat: 
0PEN1,8,15, "N:név(shift-l)":closcl 
Az ID helyén beadott (SHIFT) 
(L) meggátolja a directory kilis¬ 
tázást. 

Dump-master 

Ez a kis rutin megakadályozza a 
1541/70/71-es íloppyknál az. 
író/olvasófej ütődését: 

OPEN15,8,15,"M-W" CHR$(106I CHRS 
(01 CRS$(1) CHRS(128):CLOSE15 


MÁRCIUS 


c= 


9 





KITEKINTŐ 



áaí* 



Képernyővarázslat 

Hatodik rész: 

A memória és a billentyűzet 
programozása 


Nos, végre eljutottunk a cikksorozat 
utolsó részéhez. Persze ez még csak a cikk 
eleje, és remélem, tudok új információkat 
nyújtani a TED-ről, valamint hogy még 
mindig vannak, akik ezt clolvas.sák. 

A billentyűzet 

Mint azt már az első részben leírtam, 
a billentyűzet és joystick kezelése is eme 
chip feladata. A TED KO—K7 bitjeivel fi¬ 
gyeli ezeket. Nézzük meg, hogyan! 

Az I/O területen ($FD00-$FEFF) 
belül az $FD30-$FD3F terület a 
billentyűzet-mátrix számára fenntartott 
hely. Az FPLA (Field Programmable Lo- 
gical Array — programozható logikai hᬠ
lózat; ezt a gépbe készre égetve, progra¬ 
mozva szerelik be) a címbusz felső 12 bit¬ 
jét figyel (A4—A15), így 16 bájtos blok¬ 
kokkal képes megkülönböztetni. Ha a 
$FD3x címek bármelyikét találja a 
címbusz (ezek között semmi különbség 
nincs), aktivál egy jelet. Ez a KEY- 
BOARD CHIP-SELECT (billentyűzet 
chip kiválasztás) jel egy 6529B típusú IC- 
be fut be. Ez az IC kapcsolódik az adat¬ 
busz mind a nyolc bitjére. A KEYBOARD 
CHIP-SELECT vételekor eltárolja az 
adatbusz állapotát, a kimenetére helyezi, 
és a következő írásig megtartja azt. Erre 
a kimenetre csatlakozik maga a mátrix. 
Ez valójában egy 8*8-as hálózat. Eme hᬠ
lózat 64 metszéspontjának a gép 64 külön¬ 
böző billentyűje felel meg (a két SHIFT 
és a SHIFT-LOCK, valamint a két 
CONTROL |csak PLUS/4-enj egy-cgy 
billentyűnek számít). Nyolc sorát a 
65229B kimenetéről érkező jelek alkot¬ 
ják, míg nyolc oszlopa a TED KO—K7 bit¬ 
jeibe fut be. Ezek a bitek ellenállásokkal 
+5 V tápfeszültségre vannak felhúzva. 
Egy billentyű lenyomásakor a hálózat 
azon sorának állapota, amelyikben a le¬ 
nyomott billentyű van, a TED KO—K7 
bitjeinek valamelyikébe íródik. Hogy me¬ 
lyikbe, az a billentyű mátrixbéli helyétől 
függ, vagyis attól, hogy melyik sor és 
oszlop metszéspontjában áll. Ha az adat¬ 
buszon ehhez a sorhoz ,,egyes” bitet rcn- 

Cs MÁRCIUS ■ 10 


delünk, a TED nem érzékeli a lenyomást, 
hiszen az ellenállá.sok eleve ,,maga.s” 
szinten tartották a TED bemeneti bitjét. 
Ha azonban ,.alacsonyra” állítottuk a sor- 
kivála.sztó jelet, a billentyű a TED felé ve¬ 
zető jelet is lehúzza. Ez az, amit a TED 
$FF08 regiszterében érzékelhetünk. A 
két joystick a mátrix után, közvetlenül a 
TED bemenő bitjeire kape.solódik, így ha 
ezeket kívánjuk figyelni, és a billentyűze¬ 
tet nem, az $FD30 cím írását kihagyhat¬ 
juk. Nézzük most meg mindezt program¬ 
ban (1. lista)! A SEl utasítás ilyen esetek¬ 
ben elengedhetetlen, ugyanis ha a gépi 
megszakító rutin — mely ugyanezt a mód¬ 
szert ha.sználja — átírja az általunk beállí¬ 
tott értéket, hamis értéket olvasunk be. A 
rendszer ROM-ban találhatunk egy ha.sz- 
nos szubrutint. Hívási címe: $DB70/73. 
Itt az alábbiakat találhatjuk: 

. DB70 STA $FD30: billentyűzet Is 
. DB73 STA $FF08; csak joystick 
. DB76 LDA $FF08 
. DB79 RTS 


Mint említettem, a gépi megszakító 
rutin is ezt a módszert használja, majd a 
kapott kódokból ASCII-kódot készít. Eh¬ 
hez konverziós táblákat használ, melyek¬ 
ből négy darab van, és az $E026-$E128 
területen helyezkednek el. 
billentyűk magukban: $E026-$E065 

billentyűk SHIFT-tel: $E67-$E0A6 

billentyűk C = -ral: $E0A8 $E0E7 

billentyűk CTRL-lal: $E0E9 $E128 


Ez a táblázat a ROM-ban foglal he¬ 
lyet, tehát nem válU)ztathatjuk tneg. Ha 
mégis szükség van arra, hogy az egyes 
billentyűkhöz rendelt ASCII-kódokat 
megváltoztassuk, átírhatjuk a dekódoló 
rutint. Bár ez szintén ROM-ban van, 
de kezdetére egy vektor mutat, mely a 
$0545—$0546 címen helyezkedik el. 
Alapértéke $DB7A. 

$EC-$ED: aktuális billentyű-dekódertáb- 

la kezdete 

$EE aktuális billentyűzet-mátrix 

kód 


$EF: 

$0527-$0530: 
$053F: 

$0540: 

00 : 


a billentyűzet-pufferben lévő 
karakterek száma 
billentyűzet puffer 
billentyűzet-puffer hossza 
billentyűlsmétlés kapcsoló 
kurzorvezérlők 


- aTED 

$40: egyik sem 

$80: mindegyik 

$0541: billentyűismétlés számláló 

$0542: billentyűismétlési sebesség 

$0543: SHIFT, CTRL, C= jelző 

$0547: SHIFT/C= letiltás/engedé¬ 

lyezés 

-$00: engedélyezett 

-$FF: letiltott 

$07EB: utoljára lenyomott karakter 

$07F6: billentyűzet-dekódertábla mu¬ 

tatója 

Ennyit kívántam a billentyűzetről 
szólni, és most rátérnék a cikk másik té¬ 
májára: a memóriakezelésre. A RAM- 
okat már az első részben elég részletesen 
tárgyaltuk, így most inkább a ROM-okat 
helyezném előtérbe. 

A 64K RAM-mal rendelkező gépek¬ 
nél $8000-$FCFF-ig és $FF40-$FFFF- 
ig a memória ,,több rétegű”. Ez alatt azt 
értein, hogy ,,egymáson” helyezkedik el 
RAM és ROM terület. Hogy egy olvasó¬ 
ciklus ezen a területen honnan olvas, az 
attól függ, hogy melyiket választottuk ki 
(, .lapoztuk be”) utoljára. Ezt a célt a TED 
két regisztere szolgálja: az $FF3E, mely¬ 
re bármit írva a ROM lapozódik be, és az 
$FF3F, melynek írása a RAM kiválasztᬠ
sát jelenti. Ez a két regiszter úgynevezett 
,,fantomregiszter”, mert csak írásuknak 
van jelentősége, a beírt adat milyensége 
közömbös, és olvasásuk hatástalan (nem 
a beírt adatot olvassuk vissza). 

Ha abban a szerencsés helyzetben va¬ 
gyunk, hogy nemcsak BASIC és KER- 
NAL ROM van gépünkben, tovább bo¬ 
nyolódik a helyzet. Ilyenkor azt is meg 
kell adni, melyik ROM-ot kívánjuk hasz¬ 
nálni. Erre a célra külön lapozóelektroni¬ 
kát építettek a gépbe. Ez az elektroniLi az 
$FDD0-$FDDF címeken érhető el. 

FIGYELEM! Nem mindegy, me¬ 
lyikbe írunk! Ez mo.st nem olyan, mint a 
billentyűzetnél volt, inkábba RAM/ROM 
lapozáshoz hasonlít. Ezek a címek nem a 
TED regiszterei, az 1/0 területen vannak. 
A RAM és a TED kapcsolatáról már volt 
■SZÓ. Ha ROM-ot vála.sztottunk ki, és az át¬ 
fedő területről olvasunk, a RAM-ok nem 
kapnak CAS jelet, tehát náluk egy plusz 
frissítési ciklus játszódik le. Aktiválódik 
a TED CSŐ vagy CSI jele, attól függően, 
hogy melyik 16K-s tartományt használjuk 
($8000-$BFFF vagy $C0O0-$FFFF). 
Hogy ezek után melyik ROM IC kapehip- 
.select jelet, az a lapozóelektronika dolga. 
Ismét a FPLA a dolgok fő irányítója. Ha 
az $FDD0-$FDDF címekre hivatko¬ 
zunk, az FPLA aktiválja az ADDR CLK 





KITEKINTŐ 



(ADDRESS CLOCK — cím órajel; kicsit 
furcsán hangzik, de a tároló aktiváló jelét 
órajelnek hívják) jelet. Ennek hatá.sára — 
írás esetén — eltárolódik a cínibusz alsó 
négy (AO—A3) bitje egy 74LSI75-ös típu¬ 
sú IC-ben. Ebből a dekódoló hálózat a 
CSŐ vagy CSl jelek hatására aktiválja 
egyik vagy másik kimenetét, és ezzel va¬ 
lamelyik ROM-ot. Az az adatot az adat¬ 
buszra teszi, és innen az a proccszorba ke¬ 
rül. A logikai hálóz.atnak összesen nyolc 
darab kimenő jele van, tehát összesen 
8*16=128K RÖM-ot képes kezelni egy 
PLUS/4. Ezek: 


BASIC 
KERNAL 
FUNCTION LOW 
FUNCTION HIGH 
CARTRIDGEl LOW 
CARTRIDGE1 HIGH 
CARTRIDGE2 LOW 
CARTRIDGE2 HIGH 
Természetesen 


($8000-BFFF) 

ISCOOOTFFF) 

($8000 BFFF) 
($COOO-FFFFI 
($8000-BFFF) 
($COOO-FFFF) 

($8000 BFFF) 
(SCOOO-FFFF) 

$FDO{)-$FEFF-ig 


mindig az 1/0 terület lapozódik be. Közös 
ezen túl az $FC00-$FCFF-ig terjedő terü¬ 
let. Ha ide hivatkozunk, mindig a KER¬ 
NAL lapozódik be. Ennek oka az, hogy 
itt helyezkednek el a ROM-okat egymás- 
•sal ös.szekape.soló rutinok (pl. LONG 
JUMP — egyik ROM-ból a másikba ug¬ 
rik), és itt kezdődik és végződik a megsza¬ 
kító rutin is. Ennek hardver megvalósítᬠ
sa az FPLA KERN jelével történik, amely 
nem a neves színészt, hanem a lapozó¬ 


elektronika azon funkcióját aktiválja, ROM-tól a KERNAL kapjon chip-seleet 
hogy függetlenül az utoljára kiválasztott jelet. A címek és ROM-ok kapcsolata: 


Cim 


$8000 BFFF 


$COOO $FFFF 


$FDD0 

BASIC 

KERNAL 

$FDD1 

FUNCTION LOW 

KERNAL 

$FDD2 

CARIRIDGE 1 LOW 

KERNAL 

$FDD3 

CARTRIDGE2 LOW 

KERNAL 

$FDD4 

BASIC 

FUNCTION HIGH 

$FDD5 

FUNCTION LOW 

FUNCTION HIGH 

$FDD6 

CARTRIDGE 1 LOW 

FUNCTION HIGH 

$FDD7 

CARTRIDGE2 LOW 

FUNCTION HIGH 

$FDD8 

BASIC 

CARTRIDGEl HIGH 

$FDD9 

FUNCTION LOW 

CARTRIDGEl HIGH 

$FDDA 

CARTRIDGE1 LOW 

CARTRIDGEl HIGH 

$FDDB 

CARTRIDGE2 LOW 

CARTRIDGEl HIGH 

$FDDC 

BASIC 

CARTIRDGE2 HIGH 

$FDDD 

FUNCTION LOW 

CARTRIDGE2 HIGH 

$FDDE 

CARTRIDGEl LOW 

CARTRIDGE2 HIGH 

$FDDF 

CARTRIDGE2 LOW 

CARTRIDGE2 HIGH 


Nézünk most egy programot, mely 
felhasználja a cikk teljes anyagát: egy 
ROM-COPY-t (2. lista). 

Úgy hi.szem, eljött a búcsú pillanata. 
A sorozat itt véget ér. Szeretnék kö.szöne- 
tet mondani önöknek türelmükért, vala¬ 
mint Nagy Attilának és Tamásnak felbe¬ 
csülhetetlen értékű segít.ségükért. Remé¬ 
lem a jövőben még viszontlátjuk egymást 
az újság hasábjain. 


Felhasznált irodalom: 

C0M1V10D0RE-F4 felhasználói ké¬ 
zikönyv - (c) COMMODRE ELECT¬ 
RONICS LIMITED, 1984. Babán Gᬠ
bor—Ma.sa István: Gépi kódú programo¬ 
zás kezdőknek és halaclóknak — NOVCH- 
RADE, 1987. Tóth Viktor: A COMMO¬ 
DORE I6-OS belső felépítése — NOVOT¬ 
RADE, 1986. Wilheim Besenthal—Jens 
Muus: PLUS/4-kézikönyv az összes tud¬ 
nivalóval — NOVOTRADE, 1989. 


O 

00001 

0000 




;kukac 




O 

O 

00002 

0000 






$ 7000 



00003 

7000 




X 1 

= 

l’d0 

; átmeneti 

O 


00004 

7000 




yi 

= 

xl + 1 

; koordináták 


o 

00005 

7000 




c i ra 1 


y 1 +1 

; 0 ivasas/ 

O 

00006 

7000 




cimh 


c i m 1 + 1 

;/irashoz 


00007 

7000 




b t. e s z t 

= 

idb70 

;bi1lentyuteszt 


o 

00008 

7000 




i r q V e g 

= 

$ce0e 

;gepi megszakitorutin 

ü 


00009 

7000 




keret 

= 

tf í 19 



o 

00010 

7000 




sor ! 

= 

$d802 

ítablazat sorok 

O 

00011 

7000 




sor h 

= 

$d81b 

;kezdőcímei vei a romban 

o 

00012 

7000 

a2 

00 



1 d X 

#0 



00013 

7002 

a9 

a0 


i nck 

Ida 

#$a0 

;init ciklus 

ü 


00014 

7004 

9d 

00 

0c 


s ta 

Í0C00,X 

;kepernyo 


o 

00015 

7007 

9d 

00 

0d 


s ta 

Í0d00,X 

; inverz 

o 


00016 

70Ga 

9d 

00 

0e 


sta 

í0e00,X 

;space 


00017 

700d 

9d 

t8 

0e 


3 X a 

$0ef 8,X 

; fe 1 to1tes 


o 

00018 

7010 

a9 

10 



1 da 

#$10 


o 


00019 

7012 

9d 

00 

08 


s ta 

$0600,X 

;fekete szín 


o 

00020 

7015 

9d 

00 

03 


s ta 

$0900,X 

;beaiIitasa 

o 

00021 

7018 

9d 

00 

0a 


s ta 

$ 0a00,X 



00022 

701b 

9d 

í S 

0a 


s ta 

$0at8.X 



0 

00023 

701 e 

eS 




inx 



o 


00024 

7011 

d0 

e 1 



bne 

inck ' 


0 

00025 

7021 

aü 

80 



í da 

#$80 

; í e k e t e 

0 

00026 

7023 

Sd 

19 

11 


sta 

keret 



00027 

7026 

a2 

07 



1 dx 

#7 



o 

00028 

702S 

sO 

1 4 


tabc 

i da 

#20 

;képernyő közepe 

o 


00029 

702a 

9d 

19 

70 


sta 

X tab, X 



00030 

7023 

a 9 

0d 



1 da 

#13 



o 

00031 

702 í 

9d 

01 

71 


sta 

:/1 a b , X 




00032 

7032 

ca 




de X 





■■■Arciuf 


o 


11 











KITEKINTŐ 




0 

00033 

7033 

10 

13 



bp 1 

tabc 


Ü 


00034 

7035 

78 




se i 




o 

00035 

7036 

a2 

44 



Idx 

#<mexak 


O 

00036 

7038 

a0 

70 



1 dy 

# >me xak 



00037 

703a 

8e 

14 

03 


S t X 

$0314 



o 

00038 

703d 

8c 

15 

03 


sty 

$0315 


0 


00039 

7040 

58 




c J i 




o 

00040 

7041 

4C 

41 

70 

vege 

jmp 

vege 


Ü 


00041 

7044 

ad 

00 

71 

mexak 

1 da 

X tab + 7 

;modos1tando 


00042 

7047 

85 

d0 



s ta 

X 1 

;koord-ak 


o 

00043 

7049 

ad 

08 

71 


1 da 

ytab+7 


O 


00044 

704c 

85 

dl 



■ sta 

yi 



o 

00045 

704e 

a9 

df 


k 1 e 

1 da 

#$df 

; k . 1 e 

O 

00046 

7050 

20 

70 

db 


jsr 

bteszt 

;figye les 


00047 

7053 

29 

01 



and 

#1 

:teszt 


o 

00048 

7055 

d0 

07 



bne 

kf el 

;nincs lenyomva 

O 


00049 

7057 

a5' 

dl 



1 da 

yl 

:yl=yl+l 



00050 

7059 

18 




c 1 c 



O 


00051 

705a 

69 

01 



adc 

#1 



00052 

705c 

85 

dl 



sta 

yl 



o 

00053 

705 e 

a9 

df 


kf el 

1 da 

#$df 

;k.fel 

O 


00054 

7060 

20 

70 

db 


jsr 

bteszt 

;figyeles 


o 

00055 

7063 

29 

08 



and 

#8 

;teszt 

O 

00056 

7065 

d0 

09 



bne 

k jobb 

;nincs lenyomva 


00057 

7067 

a5 

dl 



1 da 

yl 

;yl=yl-l 


o 

00058 

7069 

38 




sec 


O 


00059 

706a 

e9 

01 



sbc 

# 1 



o 

00060 

706 c 

30 

02 



bm i 

k j óbb 

; ha negatív 

O 

00061 

7066 

85 

dl 



sta 

yl 


00062 

7070 

a9 

b f 


k jobb 

1 da 

tt$bf 

;k.jobb 


0 

00063 

7072 

20 

70 

db 


jsr 

bteszt 

f i g y 6 1 e s 

O 


00064 

7075 

29 

08 



and 

#8 

; teszt 


o 

00065 

7077 

d0 

07 



bne 

kba 1 

;nincs lenyomva 

O 

00086 

7079 

a5 

d0 



1 da 

X i 

: xl = xl + 1 


00067 

707b 

18 




c 1 c 




o 

00068 

707c 

69 

01 



adc 

#1 


O 


00069 

707e 

85 

d0 



s ta 

xl 



o 

00070 

7080 

a9 

bf 


kba 1 

1 da 

tt$bí 

;k.ba1 

O 

00071 

7082 

20 

70 

db 


jsr 

bteszt 

:figye 1es 


00072 

7085 

29 

01 



and 

#1 

;teszt 


o 

00073 

7087 

d0 

09 



bne 

cbeck 

; nincs 1 enyomva 

O 


000 74 

7089 

a 5 

d0 



1 da 

xl 

; X 1 = X 1 - 1 


o 

00075 

70&b 

38 




sec 




00076 

70dc 

e9 

01 



sbc 

# 1 


o 


00077 

708e 

30 

02 



bm i 

c h e c k 

: ha negatív 


■ o 

00078 

7090 

85 

dO 



sta 

xl 

o 


00079 

7092 

a5 

d0 


c h e c k 

1 da 

xl 



o 

00080 

7094 

c9 

28 



cmp 

#40 



00081 

7096 

90 

04 



bee 

chy 


o 


00082 

7098 

a9 

27 



1 da 

#39 



o 

00083 

709a 

85 

d0 



s ta 

xl 


o 


00084 

709c 

a5 

dl 


chy 

1 da 

yl 



o 

00085 

00086 

709e 

7030 

c9 

90 

19 

04 



cmp 

bee 

#25 

utó 1 30 


o 


00087 

70a2 

a9 

18 



1 da 

#24 



o 

00088 

7 0a 4 

85 

dl 



sta 

yl 


o 


00089 

70a6 

a2 

00 


utó 1so 

1 dx 

#0 

; utó 1so 


o 

00090 

70a8 

20 

é2 

70 


jsr 

c i msz 

: karakter 

o 

00091 

70ab 

a9 

10 



1 da 

#$10 

: f eket ere 


00092 

70ad 

91 

d2 



sta 

( c i m 1 ) , y 



o 

©0093 

70af 

a2 

00 



1 d X 

#0 


o 


00094 

70bl 

bd 

f a 

70 

masc 

1 da 

X t a b + 1, X 

: tab1 azat 

o 

00095 

70b4 

9d 

f 9 

70 


sta 

X tab,X 

;e1emenkent i 

o 

00096 

70b7 

bd 

02 

71 


1 da 

y t a b + 1, X 

;ha tramozdita s 


00097 

70ba 

9d 

01 

71 


sta 

ytab,X 



0 

00098 

70bd 

e8 




i nx 



o 


00099 

70be 

60 

07 



cpx 

#7 


o 

00100 

70C0 

d0 

e f 



bne 

masc 


o 

00101 

70c2 

a6 

d0 



Idx 

X 1 



00102 

70c4 

a4 

dl 



1 dy 

yl 




MÁRCIUS 12 




Cf 


KITEKINTŐ 



00103 

70c6 

8e 

00 

71 


s tx 

X tab^ 7 


; uj koord 


o 

00104 

70c9 

8c 

08 

71 


s ty 

ytab 1 7 


: beirasa 

0 


00105 

70CC 

a2 

00 



1 dx 

tt0 




o 

00106 

70ce 

20 

©2 

70 

focik 

3 s r 

c i Hl s 2 


;cim szarnitas 

o 

00107 

70dl 

8a 




t xa 





00108 

70d2 

0a 




as 1 

a 


;szinkod 


o 

00109 

70d3 

0a 




as 1 

a 


;e1oa11itasa 

o 


00110 

70d4 

0a 




as 1 

a 


;szin=16»x+l 


o 

00111 

70d5 

0a 




as 1 

a 



o 

00112 

70d6 

09 

01 



o ra 

tti 




00113 

70d8 

91 

d2 



sta 

leírni), 

i y 



o 

00114 

70da 

e8 




i nx 




o 


00115 

70db 

e0 

08 



cpx 

#8 




o 

00116 

70dd 

d0 

ef 



bne 

focik 




00117 

70df 

4C 

0e 

ce 


jmp 

irqveg 


: vege 

o 


00110 

70e2 

bd 

f9 

70 

c i msz 

1 da 

X tab,X 


;X koord. 


o 

00119 

70e5 

48 




pha 



;mentes 

o 


00120 

70e6 

bd 

01 

71 


1 da 

ytab,X 


;y koord. 



00121 

70e9 

aö 




tay 




o 

o 

00122 

70ea 

b9 

02 

d8 


1 da 

sor 1 ,y 


;sor kezdet 


00123 

70ed 

85 

d2 



sta 

cim 1 


; cirae 


o 

00124 

70ef 

b9 

Ib 

d8 


1 da 

sorh,y 


; rom 

o 

00125 

70f 2 

29 

0b 



and 

#$0b 


;tab1azatbo1 



00126 

70 f 4 

85 

d3 



sta 

c i mh 




0 

00127 

70f 6 

68 




p 1 a 




o 


00128 

70f 7 

a8 




tay 





o 

00129 

70f 8 

60 




r t s 




o 


00130 

70f 9 




X tab 

» = 

» +8 




o 

00131 

7101 




y tab 

n = 

X +8 



o 

end of 

assembly, 

er ror 

count = 

00000 



0 











o 


b t e s z t 

db70 


check 

7092 


chy 

709c 

cimh 00d3 



c i m 1 

00d2 


cimsz 

70e2 


focik 

70ce 

inck 7002 

o 

o 

irqveg 

ce0e 


kba 1 

7080 


keret 

ff 19 

kfel 705e 


k jobb 

7070 


k 1 e 

704e 


masc 

70bl 

mexak 7044 


o 

sor h 

dSlb 


sor 1 

d802 


tabc 

7028 

utó 1so 70a6 

o 

vege 

7041 


X 1 

00d0 


X tab 

70f 9 

yl 00dl 


o 

y tab 

7101 










o 

00001 

0000 


; rom-copier 


O 


00002 

0000 


; 



o 

00003 

0000 


X s: 

■í 1100 

O 


00004 

1100 


« 




00005 

1100 


mon = 

$f f 52 

O 

(J 

00006 

1100 


rom = 

$d0 


00007 

1 100 


bank = 

$t dd0 


o 

00008 

1100 


p 1 Qt = 

$f f f 0 

0 


00009 

1100 


primm = 

$f f 4f 


o 

00010 

1100 


s c n c 1 r = 

$d388. 


0001 1 

1100 


cur B 1 = 

$f f 0d 

o 


00012 

1100 


cursh = 

$f f 0c 


o 

00013 

1100 


mátrix = 

$db70 

o 


00014 

1100 


innen = 

$d0 

o 

00015 

1100 


ide = 

innen + 2 

o 

00016 

1100 


bordér = 

$ r f 19 


00017 

1100 


hely = 

$0ea5 


0 

0001S 

1100 


» 


o 


00019 

1100 


t 


o 

00020 

1100 


í 



00021 

1100 


t 


o 


00022 

1100 





o 

00023 

1100 

78 

se i 


o 


00024 

1101 

20 88 dő 

jsr 

scnc1r 

o 

00025 

1104 

18 

c 1 c 


o 


13 ■ MÁRCIUS 















KITEKINTŐ 


o 

m&ze 

1105 

a2 

03 






1 dx 

#3 




• 4. sor 



0 


00027 

i 1107 

a0 

0b 






Idy 

RÍ 1 




12. oszlop 




o 

00028 

1109 

20 

10 

1 1 





j s r 

p 1 0 t 







O 


00029 

110c 

20 

4f 

11 





j sr 

P' r i m m 








00030 

1101 

















o 

00031 

1 10f 
















O 


00032 

1 10f 






a 

menü szövege 








o 

00033 

110f 
















0 


00034 

1 10Í 



















c. 

^ 1 

4d 

2d 

43 

4r 

50 4 9 

45 52 

20 

42 

59 20 4b 41 46 41 0d 



o 

o 

0O03& 

1101 








. byt 

’ rom-copier 

by ko t a’,13 






0d 

0d 

0d 

41 


20 

50 

52 41 

47 S2 

41 

4d 

20 41 20 4b 49 56 41 

4c 

4 1 


o 



53 

5a 

54 

4r 

04 

54 

20 52 

41 4d 

2d 

41 

54 20 52 41 4d 2d 42 

41 

0d 

o 


00036 

1122 








. byt 

13,13,13,’ 

a 

program a kiválasztott 

rom-ot 

r c 

o 

-BA’ , 

13 
















o 



20 

20 

20 

20 

20 

20 

4d 41 

5 3 41 

4C 

4a 

41 20 24 32 30 30 30 

2d 

54 




41 

4C 

20 

4b 

45 

5a 

44 41 

44 41 

45 

4e 

2e 





o 

00037 

114c 








. byt 

f 

maso 1 

ja $; 

j000-tol kezdődően 

t 


o 

00038 

1 lÖB 

0d 

0d 






. byt 

13, 13 









o 



31 

20 

2d 

20 

53 

59 

53 54 

45 4d 

20 

52 

4t 4d 20 28 42 41 53 

49 

43 

o 




20 

26 

20 

4b 

45 

52 

4e 41 

4c 29 

0d 







o 

00039 

1170 








. byt 

’ 1 - System 

rom 

basic & kerna1)’, 

13 


o 



32 

20 

2d 

20 

49 

4e 

54 45 

52 4e 

41 

4c 

20 45 58 50 41 4e 53 

49 

41 




4e 

20 

28 

46 

55 

4e 

43 54 

49 41 

4e 

29 

0d 




Q 

0 

00040 

1190 








. byt 

'2 - internál expansion (lunction; 

* 

13 




33 

20 

2d 

20 

43 

41 

52 54 

52 49 

44 

47 

45 31 0d 




o 

00041 

llb2 








. byt 

'3 - cartridgel’ 

13 



O 



34 

20 

2d 

20 

43 

41 

52 54 

52 49 

44 

47 

45 

32 0d 0d 0d 




o 

00042 

1 lel 








. byt 

’4 - cartridge2’ 

13,13,13 



0 



20 

20 

20 

49 

52 

44 

20 42 

45 20 

41 

20 

4b 49 56 41 4c 41 53 

5a 

54 




41 

54 

54 

20 

C 

S2 

41 

4d 20 

53 5a 

41 

4d 

41 54 21 00 




o 

00043 

lld2 








. by t 

’ Írd 

be 

a 

kiválasztott rom számát 

! ’ , 0 

O 


00044 

1117 
















o 

00045 

1117 
















o 

00046 

1117 






a 

szám belíerese 








00047 

llf 7 

















o 

00048 

1117 
















o 

0004 9 

1117 

a2 

aS 






1 d X 

# <. h e 1 y 




kurzor a kepre 





00050 

1119 

a0 

0e 






1 dy 

R > h e 1 y 







o 

o 

0005 1 

Ili b 

8e 

0d 

11 





stx 

cur B 1 








00052 

lile 

8c 

0c 

11 





s ty 

cursh 








o 

00053 

1201 

a9 

71 



1igye 1 

1 da 

# $ 71 




7. sor 



o 


00054 

1203 

20 

70 

db 





j s r 

mátrix 







o 

00055 

1206 

c£i 

le 






emp 

R $ 1 e 




0. oszlop 



0 

00056 

1208 

10 

Id 






heq 

System 




1-est nyomtak 




00057 

120a 

c9 

17 






cinp 

R$t7 




3. oszlop 




o 

00058 

120c 

10- 

15 






beq 

expans 




2-est nyomtak 



o 


00059 

120e 

a9 

rd 






1 da 

#$í d 




1. sor 




00060 

1210 

20 

70 

db 





j sr 

mát riX 








o 

00061 

1213 

c9 

f e 






emp 

Rite 



;0. oszlop 



o 


00062 

1215 

10 

08 






beq 

cár 11 




3-ast nyomtak 




o 

00063 

1217 

c9 

1 7 






emp 

R $ 1 7 




3. oszlop 



o 


00064 

1219 

d0 

e6 






bne 

1 i gye 1 




nem 4-es 



o 

00065 

I2lb 

a2 

34 






1 d X 

R$34 




4-es kepernyokod 




00066 

1213 

d0 

0a 






bne 

oV; 







0 


0006 7 

1211 

a2 

33 



cár 11 

1 dx 

R$33 




3-as kepernyokod 




0 

0006Ö 

1221 

d0 

06 






bne 

ok 







0 

00069 

1 3 

a2 

32 



expans 

1 d X 

R$32 




2-es kepernyokod 




00070 

1225 

d0 

02 






Dne 

ok 








o 

000 / 1 

1227 

a2 

3 i 



System 

1 dx 

R$31 




1-es kepernyokod 



o 


00072 

1229 

















0 

00073 

1229 
















0 

00074 

1229 






return-t vagy dél 

-1 

kérünk 





000 75 

1229 

















o 

00076 

1229 
















o 


00077 

1229 

Se 

a5 

0e 


ok 


Stx 

hely 




a szám kiirasa 




o 

00078 

122c 

ee 

0d 

11 





i ne 

cur s 1 




kurzor jobbra 



0 


00079 

i 2‘^ t 

a 9 

í e 



var 


1 da 

R$í e 




0. sor 




00080 

1 ^ 

X W A 

20 

70 

db 





j s r 

mátrix 









MÁRCIUS “ 14 











KITEKINTŐ 




o 

0<á0Sl 

1234 

c9 

f d 



cmp 

#$f d 



;1.oszlop->return 

O 

o 

00082 

1236 

f 0 

0f 



beq 

maso 1 




o 

00083 

1238 

c9 

t e 



cmp 

tt$f e 



;0.oszlop->del 


00084 

l23a 

d0 

f 3 



bne 

var 





o 

00085 

123c 

a 9 

20 



1 da 

tt$20 



; space 

o 


00086 

123e 

8d 

ab 

0e 


sta 

he 1 y 



;szám tor 1es 


o 

00087 

1241 

ce 

0d 

í f 


dec 

cur s 1 



;kurzor vissza 

o 

00088 

1244 

4c 

01 

12 


jmp 

figye 1 



;uj szám bekerese 


00089 

124 7 











o 

00090 

1247 










o 


00091 

1247 




a bank - kod e1oa1 1 

i tasa 



o 

00092 

124? 










o 

00093 

1247 











00094 

124 7 

ca 


maso 1 

dex 




jvalasztott rom szama-1 


o 

00095 

1248 

ea 




t xa 




f akkuba 

o 


00096 

1249 

29 

03 



and 

#$03 



;ertek levalasztasa 


o 

00097 

I24b 

85 

d2 



sta 

ide 



latmeneti tar 

o 

00098 

124d 

0a 




as 1 

a 



;ottel való szorzás 


00099 

124e 

0a 




as 1 

a 





0 

00100 

124f 

18 




c 1 c 





o 


00101 

1250 

65 

d2 



adc 

ide 






00102 

1252 

aa 




tax 




;atto1tes 

o 

o 

00103 

1253 











00104 

1253 











0 

00105 

1253 




maso 1 

as 





o 


00106 

1253 









( 


0 

00107 

1253 










o 

00108 

1253 

a9 

0b 



1 da 

#$0b 





00109 

1255 

8d 

06 

ff 


sta 

$f f 06 



;kép ki 


o 

00110 

1258 

9d 

d0 

f d 


sta 

bank,x 

' 


;rom belapozasa 

o 


00111 

125b 

a0 

00 



1 dy 

#0 



;mutatok beallitasa 


o 

00112 

125d 

a9 

80 



1 da 

#$80 



;$8000-to1 

o 

00113 

125f 

a2 

20 



1 dx 

#$20 



;$2000-re 


00114 

1261 

84 

d0 



sty 

i nnen 





o 

00115 

1263 

85 

dl 



s ta 

innen+ 1 




o 


00116 

1265 

84 

d2 



sty 

i de 





o 

00117 

1267 

86 

d3 



stx 

i de +1 




o 

00118 

1269 

bl 

d0 

ciklus 

1 da 

(innen) 

. y 




00119 

126b 

91 

d2 



sta 

(ide),y 





o 

00120 

126d 

ee 

19 

ff 


i ne 

bordér 




o 


00121 

1270 

c8 




i ny 






o 

00122 

1271 

d0 

f6 



bne 

ciklus 




0 

00123 

1273 

e6 

d3 



inc 

ide+ 1 





00124 

1275 

e6 

dl 



i ne 

i nnen-t 1 





o 

00125 

1277 

d0 

f 0 



bne 

ciklus 



;$ffff-ig ok 

0 


00126 

1279 












00127 

1279 










o 

o 

00128 

1279 




befejezes 






00129 

1279 











o 

00130 

1279 










o 


00131 

1279 

8d 

d0 

f d 


sta 

bank 



;system vissza 



00132 

127c 

a9 

Ib 



1 da 

#$lb 



;kep be 

o 

o 

00133 

127e 

8d 

06 

ff 


sta 

$f f 06 





00134 

1281 

20 

88 

d8 


jsr 

scnc1r 





o 

00135 

1284 

20 

4f 

ff 


jsr 

pr i mm 




o 




0d 

0d 

20 20 20 41 

20 4d 41 53 

4f 

4c 

41 54 20 4b 45 53 5a 20 21 

o 



0d 

00 








o 

00136 

1287 





. byt 

13,13,’ 


a 

másolat kész !’,13,0 


00137 

129e 

4c 

52 

ff 


jmp 

mon 





o 

end of 

assemb1 y, 

error count = 

00000 




o 

o 

bank 

f dd0 


bordér 

ff 19 


cár ti 

121f 

ciklus 1269 

o 


cursh 

ff 0c 


cur s 1 

f f 0d 


expans 

1223 

figyel 1201 


o 

he l y 

0ea5 


i de 

00d2 


innen 

00d0 

másol 1247 

o 


matrIx 

db70 


mon 

ff 52 


ok 

1229 

plot fff0 


o 

pr imm 
var 

f f4f 
122f 


rom 

00d0 


scnc1r 

d888 

System 1227 

o 


15 


MÁRCIUS 


c= 














KITEKINTŐ 


a 


o 

00001 

0000 




* = $2000 


O 


00002 

2000 



m e X a k 

= $ f f f e 

;n)exakitorutin-vektor 


o 

00003 

2000 



i rq 

= $ff09 

;interrupt erzekeles 

O 


00004 

2000 



keret 

= $ffl9 



o 

00008 

2000 



t 



O 

00006 

2000 



; 




00007 

2000 



» 




0 

00008 

2000 



; 



O 


00009 

2000 



» 




o 

00010 

2000 

78 


start 

se i 

;interrupt ki 

O 

00011 

2001 

ee 

19 ff 

esik 

inc keret 

;keret csíkozása 


00012 

2004 

o ^ 

09 f f 


bit i r q 

;tortent mexak? 


o 

00013 

200? 

10 

f 8 


bp1 esik 

; nem 

O 


00014 

2009 

a 9 

20 


Ida #>tovabb 

;pc high 

o 

00015 

200b 

48 



pha 


O 

00016 

200c 

a9 

17 


Ida tovább 

;pc 1ow 


00017 

200e 

48 



pha 



o 

00018 

200r 

08 



php 

; sr 

o ‘ 


00019 

2010 

68 



p 1 a 

;break-bit 



00020 

2011 

29 

ef 


and #$ef 

; tor lese 


o 

00021 

2013 

48 



pha 

;vissza 

o 


00022 

2014 

6c 

f e f t 


jmp (mexakJ 

;irq keze 1es 


o 






jnP sr/t^-r 


o 


end oí 

a s s emb1y 

, error 

count = 

00000 



o 

esik 

2001 


i rq 

f f09 

keret ff 19 

mexak fffe 

o 

o 

start 

2000 

tovább 

2017 





Szövegszeletelő 


SYS49152 hatására 5 
karakter vastagságú szöve¬ 
get görgeti és közben elvág¬ 
ja. SYS49I79 hatására a 
legfelső sort jobbról balra 
görgeti. 


Cv 


MÁRCiUS 


16 


o 


o 


o 


o 


o 


o 


ü 


o 


o 


o 


100 
1 10 
120 
130 
140 
150 
160 
170 
1^30 
190 
200 
210 
220 
230 
240 
250 
260 
270 
280 
290 
300 
310 
320 
330 
340 
350 
360 
370 
380 
390 
400 
410 
420 
430 
440 
450 
460 
470 
480 
490 
5i30 


RÉM" 
RÉM " 
RÉM" 
RÉM" 
RÉM" 
RÉM" 


3Z0VEGSZELETEL0 C-S4 I" 
- 

, , I" 

készítette= ERUCE MAESTRO I" 


X, i>>-4s+7*(:MiDircRá;,x.. i;o"@‘ 

TÉP S=S=0 


DEPFHA í X > =RSC C MI < Flí- 
FÓR 1=49152 TO 49202 
■FÓR ..T=0 TO 7 
'-■READ Rí- 

• : R= 1 e*FHR (. 1 >+FHfl < 2 > 

='POKE I+J.fl 
! ; S=S■^-R 
: HEXT 
^RERD Rí 

03= 16*FHH <; 1 > -Í-FNH C 2 > 

IF<SflND255>=RTHEHHEXT ^ PRIHT"OK"^ GOTO290 
PRINT"HIBR ^ " .; PEEK':;63>-^-256*PEEK<:64> 

PR I HTCHRí < 147> ^ POKE53280. 0 = P0KE53281. © • P0K;E646.5 

PRIHT"nSZOVEGSZELETEL.O. . . BV. BRUCE. MRESTRO." 

GOSUE330 

FÓR I=0TO90 > NEXT VS49179•SVS49152 = GOTO320 
PRINT"W T -r I-1 -r T r-, 


PRINT" 
PRINT" 
PRINT" 
PRINT" 
RETURH 
DRTR 
DRTR 
DRTR 
DRTR 
DFITR 
DRTR 
DRTR 


I 


I I 


I—I 


I I I 


I I 


H9.00 ^ R2,00 RC í 27 / 04 / ER / 0C 
CR / ED f 27 f 04 1 E8 1 9D r 27 j 04 .• 62 
CR t EBi f 00.' DBi f F3 * 8C .* 27.* B^4 1 24 
60. C800, fl2.00.. RC3 00.04.. 7R 
ER. E8 ^ BD. 00,04. CR9D.. 00. FR 
04.E8.E0,39,D0.F3,SC.27,7B 
04,60, FF. FF, FF / FF.. FF, FF.. 5E 

■* SVS49152 ^ R SZÖVEGET SZELETELI * 
* * 
* SVS49179 R FELSŐ SORT GÖRGETI 4- * 


o 

o 

o 

' y 

O 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

























SZOFTVER 


Még többet ésszel! 


X. rész 

Az els() kérdésem úgy szólt, hogy mért jó a négybytc-os elő¬ 
olvasás kétszeri szerepeltetése a 180. és 250. sorokban. A válasz: 
semmiért, sőt. 

1 lyen előol va.sásnak akkor van értelme, ha egy eiklus feltéte¬ 
lének része a rekordok első részének vizsgálata, vagy valami mᬠ
sért tél akarjuk borítani az olvasás-feldolgozás rendszer egyen¬ 
súlyát, az olva.sás javára. Időnként előfordul ilyen helyzet, ame¬ 
lyet lehetne ugyan formulákba öntve tipizálni, de enélkül is felis¬ 
merhetők. Itt például úgy tűnik, hogy a ,,$” nevű, a tartalom¬ 
jegyzék kicsit kódolt képét tartalmazó lile végén van négy feles¬ 
leges byte. Mivel a (hátultesztclő) ciklus feltétele a lile végének 
cl nem érése, ezért ilyen esetben valóban csak előolvasással aka¬ 
dályozható meg a tile végén túlról való olvasás. 

Csakhogy a ,,$” filc végén nincsenek felesleges byte-ok. A 
múltkor elmondtam, hogy az adatokat 32 byte hosszú cgy.ségck- 
ben kapjuk, és az utolsó (a szabad terület) üzenet után a tlle-nak 
vége van. Az ST értékét tehát a 32-es blokkok után kell megnéz¬ 
ni, és helytelen dolog a file-t ,,lúlolvasni”. Ezzel ugyanis koc¬ 
káztatjuk, hogy valami hiba vagy egy spéci lemezturbó program 
miatt az ST értéke márclve.szíti a ,,filc vége” értelmű 64-es tar¬ 
talmat. Egyébként tudni illik, hogy az ST nyolc bitje különböző 
üzeneteket hordoz. Mivel előfordulhat, hogy a file vége elérésé¬ 
vel egyidőben beüt valami adatátviteli hiba is, ezért file végét je¬ 
lezheti a például a 65, a 66 vagy a —64 is. Ilyen esetre jobb az 
,,ST = 64” helyett az ,,ST AND 64” vay az. ,,ST” teltételek 
használata. Ez utóbbival a ciklust minden nem nulla ST mcg.sza- 
kílja, de ez általában úgyis célszerű. 

Elég tehát minden rekord elején kiolvasni a négy byte-ot (1. 
pl.): De vegyük észre, hogy a 190-es sorban így egymás után 
beolvasunk 4 majd 28 byte-ot. Ezt értelmesnek látszik felváltani 
egy 32 byte-os olvasási ciklussal, aminek csak az az ára, hogy 
a rekordon belül minden pozícióhoz négyet kell adnunk. 

Van itt egy kis probléma. Ez a megoldás elméletben nagyon 
klassz, de kipróbálva valamiért nem működik. Néhány kísérlet 
a gyanút egyértelműen az ominózus négyesre tereli, ezek olvasᬠ
sakor valami nem stimmel. Hadd mutas.sak be az újoncoknak 
egy közismert Nagy Titkot, amelyről soha többé nem szabad cl¬ 
feledkezni. 

A BASIC hibás. Nem ez az egyetlen ilyen pontja, de talán 
a legkínosabb. A GET utasítás, ha egy nullás kódú (CHR$(0)) 
karaktert olvas el, akkor nem ezt, hanem egy üres karakterláncot 
(””) ad vissza értékként. Ha tehát egy 32 byte hosszú rekordot 
olvasok be, amelyben valahol van nullás karakter is, akkor a ka¬ 
pott karakterlánc hossza kisebb lesz 32-nél, és persze a ké.sőbbi 
karakterek mind balra tolódnak. Sajnos csak az a megoldás, ha 
a GET helyett a 2. példához hasonló szubrutint használunk, vagy 
valami gépi kódú szubrutint írunk e célra. 

Most már igazán nem illik tovább titkolnom, hogy mit tartal¬ 
maz a bajkeverő négy byte. Az első kettő csak töltelék, fejléc ese¬ 
tében $01/04, egyébként $01/01 lehet. A másik két byte a filc 
hossza, alsó/felső byte alakban. Aki még nem ismeri ezt a szó- 
használatot, annak megmagyarázom: a hossz értékét két byte-on 
ábrázoljuk, és a kisebb helyiértékű (alsó) byte van előbb. így pél¬ 
dául egy 258 blokk hosszú file esetében a négy byte értéke 
$01/01/02/01. Látszik, hogy ha a hossz egyik byte-ja nulla (pl. 
256 blokknál rövidebb a filc), akkor a GET utasítás itt hibázik. 


Miért beszélek én végig GET utasításról, és miért nem 
GET#-ről? Eile-okat az utóbbival kell olvasni, hogy működhet 
mégis a program? — szólt a második kérdés. A kulcs a 180. és 
250. sorok SYS utasítása, amelyek meghívják a CHKIN és 
CLRCHN nevű Kernal szubrutinokat. 

Táján kezdjük az elején. A gép használata során úgy tűnhet, 
hogy a PRINT utasítás a képernyőre ír, és a GET vagy INPUT 
a billentyűzetről olvas. Ehelyett a gép mindig az ún. elsődleges 
kiviteli eszközre ír, és az elsődleges bemeneti eszközről olvas. 
Ezek az c.szközök persze általában megegyeznek a képernyővel 
és a billentyűzettel, de a kapc.solat megváltoztatható. A tárban 
a DFLTO és DFLTN nevű rekeszekben (C64-cn ezek címei 154 
és 153) van a megfelelő elsődleges eszközök .száma, bekapcsolás 
után 3 (képernyő) és 0. A PRINT mindig arra az eszközre ír, 
amelynek a száma a DFL'FO rekeszben található. Ha a nyomtatót 
felkészítjük adatfogadásra és ezt a .számot 4-re cseréljük, akkor 
onnantól mindei\ PRINT eredménye a nyomtatóra megy. Körül¬ 
belül ez lesz egy OPEN és egy CMD utasítás együttes hatása is. 
Átállítható a bemeneti eszköz is, csak ehhez nincs a CMD-hez 
hasonló utasításunk. 

A külső egységekkel való kapc.solattcremtést végző szubru¬ 
tinok, az operációs rendszer részeként, a memória valamely te¬ 
rületén ROM-ba vannak ,,beégetve”. Ezeknek a szubrutinoknak 
az összefoglaló neve a Kernal. A név eredetét nem ismerem, ta¬ 
lán rövidítés, de a ,,kernel” angolul magot jelent, itt esetleg az 
operációs rendszer magját. Tudomá.som .szerint a Kernal minden 
Commodore gépen úgy van elhelyezve, hogy belépési pontjai (a 
meghívható címek) valami jellegzetes helyen csoportosulnak. 
Talán mert így könnyebb azokat megjegyezni, vagy megtalálni. 
Nem igazán BASIC tudnivaló, de a legfontosabb Kernal .szubru¬ 
tinok úgy vannak előkészítve, hogy helyettük cgy.szerű módon 
beille.szthetjük saját szubrutinjainkat, és még a belépési ponto¬ 
kat sem kell az azokat felhasználó programokban megvál¬ 
toztatni. 

A Kernal szubrutinoknak saját nevük van, amelyet a Com¬ 
modore cég szabványosított a gépei számára. Ezért mostantól 
nem említem meg a belépési pontokat, mivel az minden gépen 
más lehet. A megfelelő számértékek minden tisztességes kézi¬ 
könyvből kikereshetők. 

A Kernal azért érdekes a számunkra, mert BASIC program¬ 
ból is elindíthalók a .szubrutinjai, és ily módon néha olyan elemi 
periféria-műveleteket végezhetünk, amelyek BASIC utasítások¬ 
kal nem valósíthatók meg. Például a LOAD szubrutin meghívᬠ
sával betölthető egy file anélkül, hogy a BASIC főprogram elöl¬ 
ről kezdődne, lásd LOAD utasítás. 

A meghívásra a SYS utasítást vagy az USR függvényt lehet 
használni. Ekkor a BASIC program értclmczé.se félbe.szakad, el¬ 
indul a kijelölt gépi kódú program. A REl'URN gépi kódú meg¬ 
felelőjének (assemblyben RTS) hatására a gép visszatér a BASIC 
programhoz, mint egy rendes szubrutin esetében. A kéziköny¬ 
vekben olvasható, hogy melyik Kernal szubrutin milyen beme¬ 
neti paramétereket kíván, ezek átadásáról híváskor szintén gon¬ 
doskodnunk kell. A SYS végrehajtásakor a gép a tár 780—783. 
számú (C64) reke.szeiből feltölti az A, X, Y és SP nevű regiszte¬ 
reket (ezt most már nem magyarázom cl), ezek megfelelő értékét 
tehát nekünk kell a hívás előtt beállítanunk. 

A Kernal felhasználására egy másik példa a 180. sorban lát¬ 
ható alkalmazás. A C64-bcn a 65478-as címen a CHKIN nevű 

17 ' MÁRCIÜS 





szubrutin kezdődik. Lényegében ez a CMD utasítás bemeneti 
megfelelője. Ennek köszönhetően a bemeneti eszköz átváltozik 
az 1 logikai számú file-ra, a számot a 781. rekeszben adjuk át 
az X regiszternek, ahogy kell. A továbbiakban a GET utasítás 
már nem a billentyűzetet olvassa, hanem az 1. számú file-t. Ezt 
az állapotot szünteti meg a 250. sorban a CLRCHN meghívása, 
amely nem kíván paramétert. 

Kérdés lehet, hogy miért jó, ha az elsődleges eszközök ilyen 
átirányítását választjuk a file-ok (má.sodlagos) közvetlen olvasᬠ
sa helyett. Sajnos én nem tudok meggyőző választ adni. Ennek 
a módszernek valami történeti oka lehet, a kevésbé fejlett nyel¬ 
vek és gépek archaikus korszakából. Talán azt a lehetőséget 
igyekszik szolgálni, hogy a kiviteli utasítás egységesen a PRINT 
lehessen, és a mindenkori célt szabadon állítgathassuk CMD 
utasításokkal. Hasonlóan kell értelmezni a beviteli eszközre vo¬ 
natkozóan is. 

Nem hibás ez a módszer, de őszintén ajánlom az elkerülését. 
A ki- és beviteli eszközöket a rendszer önmaga is gyakran állít- 
gatja, ezért könnyen kersztezhetjük a géppel egymás szándékát. 
Az átirányított adatforgalomba, mivel azt nem szabályozzuk 
közvetlenül, bekerülhet oda nem illő részlet, a gép rendszerüze- 
nctei, az INPUT promptja, és még ki tudja, mi minden. Nagy 
bossz.akodás oka lehet, ha a PRINT szövegében feledékenyen el¬ 
ejtett színvezérlő karakter a nyomtatáskor például ledob egy la¬ 
pot vagy valami ördöngős nyomtatási módba vált. Szándékosan 
utoljára említem meg az, hogy egy GET# utasításról nyomban 


TIPPEK-TRÜKKÖK 



látszik, hogy valamilyen file-ból olvasok vele, és akkor ehhez 
tartom magam a program többi részében is (nyitás, zárás, ST, 
hibaüzenet stb.). Egyetlen olyan I/O utasítás van, amelynek 
nincs másodlagos eszközre irányuló párja a LIST. Hagyjuk meg 
tehát a CMD-t és Kcrnal társait a programlistázás igénytelen fel¬ 
adatára, és a file-ok írá.sát-olvasását végezzük erre kitalált utasí¬ 
tásokkal. Vonatkozik ez a mostanáig vizsgált kis programra is, 
amelynek elemzegetését ezennel befejeztem. 

Hódi Gyula 


IRQ sprite 

SYS49152 hatására a 11-es tárolóban lévő sprite jobbról balra 
görög. A spritében tárolhatunk üzenetet vagy jegyzetet. 


O 

O 

o 

o 

o 

o 

o 

o 

o 


100 RÉM *i*#*#**i******i***i*i**aíif»****:**i* 
110 RÉM * IRQ SPRITE C-64 * 

130 RÉM * RKT^49t52 LERLL. ' RUH.-'STOP* 
140 RÉM ■*...• 4! 

ir50 RÉM ♦ készítettem BRUCE MRESTRO * 
160 R;EM mi********************;*****:*** 
170 :S=0:E=0 

180 'FÓR 1= 49152 TO 49241 
190 ^ ^ REFlDR ^ POKEI . R ^ S=S+R 
200 ■ MIEXT 

210 •i aF SC> 12533 THEN PRINT"HIBA" 
220 - : P0KE5328S.. 1 
230 •■FÓR 1= 704TO 766 
240 ^ ^ RERDR ^ POKEI/R ^ E=E+R 

250 ^ ne:>ít 

260 aF EC> 3613 THEN PRIHT"HIBR" 
270 DRTR 120.. 169.. 021.141,020.. 003, 169 
280 DRTR 192,141,021,003,160,00@,140 
290 DRTR 084,192,140,086,192,OSS,096 
300 DRTH 169,011,141,249,007,169,083 
310 DRTR 141,021,208,169,120,141,803 
320 DRTR 208,.238,002,208,234,234,234 


O 

O 

O 

O 

o 

o 

o 

o 


330 

340 

350 

360 

370 

380 

390 

400 

410 

42:0 

430 

440 

450 

460 

470 

480 

490 

500 

510 


DRTR 234,234,234,234,234,234,234 
DRTR 234,234,234,234,234,234,234 
DRTR 234,234,234,234,234,234,234 
DRTR 169,000, 141,032, 208, 141,033 
DRTR 208,200,192,030,288,002,160 
DRTR 000,140,086,192,076,049,234 
DRTR 000,000,004,006,009,011 
RÉM i*************************** 
RÉM * R SPRITE RDRTflI * 

RÉM ítíi************************** 
DRTR 000,000,000,000,000,000,000 
DRTR 000,000,255,255,255,000,00© 
DRTR 000,151,161,015,148,833,009 
DRTR 148,033,009,247,161,809,148 
DRTR 033,009,148,833,009,151,189 
DRTR 239,000,000,000,255,255,255 
DRTR 080,000,000,000,000,000,000 
DRTR 000,000,000,000,000,000,000 
DRTR 000,000,000,000,000,000,©00 


O 

O 

O 

O 

O 

O 

O 

O 



Qt MÁRCIUS JI8 
























TIPPEK-TRÜKKÖK 


JACKIE UTILITITES C-64 


II. rész 



o 


A C64-csbcn levő VIC-II grafikus chip rasztennegszakítási 
lehetőségeit BASICből is (!) kihasználhatjuk a 4. listán található 
,.RÁTÉR HELP” rutinnal. A képernyő0—255-ig terjedő rasz¬ 
tersor tartományában tetszőleges számú, de maximum 255 db 
megszakítást hozhatunk létre, ahol a keret és a háttér színét meg¬ 
változtathatjuk. Használata: SYS 49152, tömb / % (0), tömb 2 
% (0). fömbJ % (0). Az egész típusú, azonos elemszámú, egydi¬ 
menziós tömböket előre definiáljuk és töltsük föl a megfelelő ér¬ 
tékekkel. De vigyázzunk, csak akkorára dimenzionáljuk, amek¬ 
kora részt ki is használunk teljesen belőlük! A ,,tömb l’-be a 
megszakítás! helyek rasztersor számát (0—255) kell beírni. Az 
egé.sz helyek közt legalább 4 rasztersornak, a két legaksó közt 
pedig (ha a billentyűzetet is használjuk közben) legalább 34-nek 
(!) kell lennie! A ,,tömb2” a keret, a ,,tömb 3” a háttérszínének 
kódjait tartalmazza, ami akkor íródik be a megfelelő VIC-II re¬ 
giszterekbe, ha a nála eggyel ki.sebb indexű ,,tömb 1” elem által 
definiált helyen jön létre a megszakítás. A rutint a SYS 49440 
paranccsal állíthatjuk le. 

Az 5. lista ,,IRQ MUSICER” programja a BASIC-ben 
programozó zenekedvelőknek nyújt nagy segítséget. Akár hᬠ
rom szólamú zenét is képes eljátszani a BASIC programunk futᬠ
sa vagy írása közben is. A mcg.szakítás-vezérelt programot a kö¬ 
vetkezőképpen bírhatjuk munkára: SYS49152, kissílcts, FI% (0), 
KI% (0), F2% (0). K2% (0), F3% (0), K3% (0), H% (0). Ismét 
azonos elemszámú, egydimenziós egész típusú tömböket kell 
használnunk és kötelezően csak akkorára defmiálhatjuk őket, 
amennyit ki is ha.sználunk, mert különben a rutin hibá.san mű¬ 
ködhet! A számozott ,,F” tömbök az egyes szólamokhoz tartozó 
frekvenciatáblázatot tartalmazzák. A ,,K’-kban a szólamok 
kontrollrcgi-sztcreinekértékét kell megadni (SID4, II., 18. vagy) 
végül pedig a ,,H” tömb elemeinek első byte-ja a SÍD 24., felső 
byte-ja pedig a SÍD 23. regi.szterébe íródik be minden, a lassítás¬ 
nak (1—255) megfelelő számú IRQ-ban. Amennyiben nem kí¬ 
vánjuk kiha.sználni mind a három szólamot, a megfelelő tömbö¬ 
ket nullákkal töltsük töl! 

„MULTI SPRITE POSITIER” a neve a 6. lista programjᬠ
nak. Intrókban, meókban és a játékok címképernyőinek látvᬠ
nyos megalkotásához rendkívül jól felhasználható, ugyanis .segít¬ 
ségével egyszerre mozgatható a C64-es által biztosított 8 db spri- 
te egy előre a felhasználó által — definiált pályán, tetszőleges 
követési távolsággal. Indítsa tehát: SYS49152, X % (0), y % (0), 
lassítás, / % (0). Az első két paraméterenként megadott azonos 
(max. 254!) elemszámú, kötelezően egydimenziós. Integer típu¬ 
sú tömbök tartalmazzák a szellemek pályájának koordinátáit 
rendre, x, y sorrendben. A ,,lassítás” funkciója egyértelmű, de 
ha nullának ves.szük, a rutin kikapcsolódik. Az utolsó paraméter 
egy 8 eleműre (ü—7!) definiált integer tömbváltozó, melyen 
minden szellemhez külön-külön úgy kell adni a követési távol- 
.ságot. A kipróbálásban segít a ,.MULTI POSITIER HELP” ru¬ 
tin (7. lista), amelynek segítségével egy ellipszis pályát határoz¬ 
hatunk meg a szellemeknek. Ha a középpontot 172;140-nek. az 
x;y számokat pedig 148, ill. 90-nek vesszük, a sprite-ok a látható 
területen a legnagyobb ellipszis pályán lógnak mozogni. És 
mindez természetesen raszter megszakításban! Ha netán egy-cgy 
helyen villanást észlelünk az objektumokban, azt a POKE (140), 
PEEK (140)-l parancc.sal korrigálhatjuk. 


Ü 


Ü 


O 


o 


o 


o 


o 


o 


100 

110 

120 

130 

140 

150 

160 

170 

ISO 


RÉM" 

RÉM" 


r 


R03TER HELP 
COMMODORE 64 I" 

REM-IIRTR' .JPlCKIE MFlESTRO 1" 
REI-l" i.-- 


RÉM" I 
RÉM" H 


C 2 


O 


o 


l<“4S'15.2 * V=45'4-63 

DEF-FMli<;>0=RSC<MIDÍ CRst, H, 1 ;■ '.i-4i?.»'. 
<:t'IIDÍ-<F|40X, 

190 FÓR I=K TO V STEP 8>S=0 
2:00 ■ tfroR J=0 TO 7 
10 — 'REFtD FM: 

220 > l-l=16it<FNFK 1 >'*'FNFl<:2> 

230 " ‘ ' POKE I + J. Fi • PR 1HT " 23" ; I + J 
240 ■ ' S=S+F1 

250 ■ M'iEIKT 
260 i'RERD 

270 ‘‘0=16* FNfi í: 1 > ■(■FI- IFI >: 2 > 

2S0 i: F < SFIMD255 ;■ =iTTHEHNE;>ÍT ‘ PR IMT " Olí 


‘ EHÜ 


o 

2 S »0 

PRÍM' 

r"H.teR 

‘ "; PEEl 

, 6:5 


*PEE 

TÓD 

30Ö 

DflTfl 

20 , 

BE, 

. C0 , 

FlO, 

06, 

Bl, 

47 

,15D, 

C9 


301 

DfiTFl 

RFl, 

02 , 

. 20 , 

FF, 

CO, 

Fl2, 

00 

, R0, 

CD 

c 


DRTFl 

00 , 

1:31, 

. 47, 

CS, 

00 , 

F0, 

03 

,4C, 

00 


303 

DRTFl 

48, 

E2, 

, 03 .. 

.Bl, 

47, 

9D, 

00 

, CD, 

24 

ü 

304 

DRTFl 

20 , 

FI, 

. C0 , 

E:3, 

EC, 

FIIT, 

02 

, D0, 

21 

305 

DRTFl 

E 6 , 

20 , 

.BE, 

C0 , 

20 , 

FF, 

C 0 

,R2, 

05 


306 

DlTTH 

00 , 

R0, 

.01 , 

Bl , 

47, 

9D, 

00 

, CE, 

04 


307 

DFlTlT 

20 , 

FI, 

' CO, 

E:3, 

EC, 

iTFl, 

02 

> Ü0 f 

21 

0 

303 

DRTR 

F0, 

20, 

BE, 

C0, 

20, 

FF, 

C0 

/ R2 7 

OF 


303 

DFiTR 

00 , 

FI0, 

01, 

Bl, 

47, 

9D, 

00 

.. CF 7 

05 


510 

DRTFl 

20, 

1-1 , 

Cü, 

Ei3, 

EC, 

ITFI, 

02 

,.□0.. 

21 


311 

DRTFl 

FO, 

Fid, 

00 , 

CF, 

SD, 

21, 

00 

7 riD 7 

97 


312 

DRTFl 

00 , 

CE, 

SD, 

20, 

D0, 

R3, 

01 

7 ÖD 7 

:E:2 

ü 

313 

DlTTFl 

R:9, 

02, 

R:9, 

00 , 

oD, 

OE, 

DC 

7 7B 7 

43 

314 

DRTFl 

Fid , 

00 , 

CD, 

:5D, 

12, 

D0, 

HÜ 

7 II 7 

R7 



DFITR 

D0, 

29, 

7F, 

:3i:;i. 

1.1, 

D0, 

t”l3 

7 31,. 

10 

C 

316 

DRTR 

:3D, 

ÍR, 

D0, 

R9, 

:3F, 

ÖD, 

14 

7 037 

53 


317 

DRTR 

lT:5, 

C0, 

:3D, 

05, 

0::5, 

5:3, 

60 

.■ hD 7 

73 


3* 1 y 

DRTR 

19, 

D0, 

SD, 

i:9, 

DO, 

RE, 

fl9 

7 02 j 

B:5 

ü 

319 

DflTfl 

BD, 

00 , 

Cl-, 

8 D, 

21 , 

DO, 

BD 

7 00 7 

C7 


32Ü 

DRTFl 

CE, 

ÖD, 

20, 

DO, 

BÜ, 

00 , 

CD 

7 3 D 7 

62 


321 

DRTR 

12, 

D0, 

EE, 

Fl9, 

02, 

ES, 

EC 

7 RFí 7. 

F:? 



DRTR 

02, 

D0, 

0:5, 

R9, 

00, 

13D, 

IT9 

7 02 7 

BB 


cl. 

DRTR 

4C, 

31, 

ER, 

4C, 

BC, 

FE, 

2:0 

7 FD 7 

8R 

O 

324 

DRTR 

RE, 

20, 

:3B, 

B0, 

3:"3, 

RS, 

47 

AZSj 

16 

3i:iy 

DRTR 

07, 

85 , 

47, 

Fl5, 

48, 

ES', 

00 

7 357 

2E 


3526 

DRTFl 

4.3, 

flO, 

00, 

Bl , 

47, 

OR, 

B0 

7 00 7 

9F 

O 

327 

DFITR 

H;2, 

16, 

40, 

3lT, 

FI4, 

C:3, 

Bl 

7 4? 7 

IT2 

32y 

DRTR 

OR, 

90, 

F5, 

RI.T, 

04, 

Bl, 

47 

7 7 

F4 


330 

331 


í38 

;39 


Dl-TTR 
DlTTFI 
ÜRTR 
DRTFl 
DlTTH 
DFlTlT 
DlTTFl 
DlTTR 
DFITFI 
DFiTR 
RÉM = 


02. 90.. 05 / |T2.. 12,4 C ^ 3tT.- Fl4 .• 75 
60 ^13/ H5 ^ 4 Z / ‘-'9 j 0.2 f 05.. 4 Z í Irí'D 
tT5í 43.. 69> 130^ 35 ^ 43 , i:>0 , 1=10.• 23 
05 / B1 / 47 / 0:3', 00, F0 / 03 ^ 4C, 05 
4S í B2;, CS.. BI í 47 / CD , FlFl.. 02, 33 
DO, F5, 1S, Fl5.47 í 6:3.07 H35 / BE 
47 .• Fl5,43.. 6:3‘, 00.. 85,4:3,60, CFi 
7::5 , Fl9 ..31, ;3D ,14,03, R9, EFl, 89 
8D, 15,0:3, FI9,00, :3D, l Fi. DO, C5 
R9,01,SD,OE,DC,53,60,OO,09 


.RFOnv. 


o 

O 

O 

O 

o 

o 

ü 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


19 


1ÁRCIIIS 


o 













TIPPEK-TRÜKKÖK 


o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


Cv 


ll'IULTI SPRITE POSITIER 
CDI'II’IODORE 64 


IRTI-I" JFlCKIE MflESTRO 


100 re:m" 

110 REI'I” 

120 RÉM" 

130 REN" 

140 REN" 

150 REN" 

160 ■ 

170 K=49152 ' V“4955:3 

180 OEFFHPÍX>=FlSC(:t'IID:t:<:Pí. X, 1 > >-4S *-7:* 

i:>>"ia"> 

190 FÓR I=K TO V STEP 8■S=0 
200 ''FÜR J=0 TO 7 
210 '‘-RERD fl# 

220 ■ ■ > 16»FMl=l <: 1 >+FNR < 2 > 

230 ' ' " POKE I + J/ n' PR INT "::j", I + J 

240 ' = =S=S+Fl 

250 ' = NEXT 

260 ' i RERD Fii 

270 ' " fl= 1 emFNEl C l > •‘•FI'IR C 2 > 

280 IF <; SFIND255 > = flTHEMNEXT •- PR IHT " Olí " ■ END 
290 PRIHT"HIGFl ■ " ; PEEKÍ 63>+256*PEEI<‘.;64> 

300 DFiTFl 20,27, Cl, 1=10.06,131/47/80,33 

301 DRTFl fifl, 02,20,68, C 1,02,00,1=10,37 

302 DflTfl 00,El,47,C9,02,90,O3,4C,Fl2 

303 DOTO 48,02,90,00,C7,C8,01,47,lE 

304 DOTFI 90,00, C6,20, 50, C1, E8, EC, 72 

305 DOTO 00,02,00,E3,20,27,C1,20,87 

306 DOTO 63,01,02,00,00,00,01,47,63 

307 DOTO C9,00, F0,03,4C, 48,132, CS, CR 
303 GOTO B1,47,90„00,CS,20,50,C1,98 

309 DOTO E8,EC,00,02,DO,E6,20,FD,53 

310 DOTO OE,20,9E,e7,86,SE,OD,RflTSE 

311 OOTR 02, 85,8C,09,08,SD,00,02,FO 

312 DOTO 20,27,Cl,20,68,Cl,02,00,F3 

313 DOTO 00,00,01,47,C9,00,F0,03,54 

314 DOTO 4C,48,B2,C8,B1,47,9D,O0,O3 

315 DOTFl C9,20,5O,Cl,ES,E0,08,G0,Fl4 

316 DOTO E7,05,SE,00,17,78,09,31,53 

317 DflTfl 80,14,03,09,EO,80,15,03,DC 

318 DOTO 09,00,80,10,00,09,01,80,57 

319 DOTFl 0E, 00,58,60,09,00,85,3F, 51- 

320 DOTO 78,09,FF,SD,12,00,00,11,40 

321 GOTO 00,29,7F,30, 11,00,Fl9,81,10 

322 DFiTO 80,10,00,09,00,80,0E, DC, 97 

323 GOTO 09,,C4,80, 14,03,09, C0,80, 07 

324 ORTFl 15,03, 58,60,00, 19,00,80, F3 

325 DOTFl 19,D0,E6,SF,O5,8F,C5,3£,E5 

326 DOTO F0,03,4C,31,£0,09,00,85,88 

327 DOTO 81- ,09,00,35, 02,80,10,00,2C 

328 DflTfl 06,02,00,00,C9,00,05,02,7F 

329 DFITO 00,08, BD, 00, C6, 99,00, DO, 9E 

330 DOTO BD,0O,C8,99,01,DO,E:D,00,OC 

331 DflTfl C7,F0,0B,O4,02,B9,89,C1,6B 

332 DOTO 00,10,00,80,10,00,E6,02,42 

333 DFITO Fl5, 02, C9,03,00,02,02,00,00 

334 DOTO FE,0O,C9,BD,00,C9,C5,8C,9E 

335 DOTO D0,05,O9,00,9D,00,C9,ES,CC 

336 DflTfl E0,03,00,EC,4C,31,£0,20,20 

337 DOTO FD,OE,20,8e,B0,3S,O5,47,2O 

338 DOTO E9,07,85,47,05,48,E9,00,92 

339 DOTFl 85,48,00, 00,01,47,00, BO, 1F 

340 DOTO 05, 02,16,4C, 30, Fl4, CS, B1,60 

341 DFITO 47,0fl, 90, F5,00,04,01,47, 72 

342 DOTO C9,02,90,05,02,12,4C,30,90 

343 DFITO 04,60,18, 05,47,69,02, 85, F8 

344 DOTO 47,05,48,69,00,85,48,60,CO 

345 DOTO FI0,05,B1,47,C9,00,F0,03,59 

346 DOTO 4C,4S,G2,CS,Bl,47,CD,Fl0,7'D 

347 DOTO 02,D0,F5,18,05,47,69,07,30 

348 DOTFl 85,47,05,48,69,00,85,48, EF 

349 DOTO 60,01,02,04,03,10,20,40,DF 

350 DOTO 80,00,00,00,00,00,00,00,80 

351 REN 

REODV. 


O 

O 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


MÁRCIUS 


20 


o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


IRQ MUSICER 
COI'INODORE 64 


IRTÓ" JOCKIE NFlESTRO 


100 REN" 

110 REN" 

120 REN" 

130 RÉM" 

140 REN" 

150 REN" 

160 = 

170 K-49152>V=49626 

180 OEFFHFK:><>=OSC<NIDÍ<:flÍ,X, i;'>-43+7* 
';NiosfO=ii,x, i>>"i«i"> 

190 FÓR I=K TO V STEP 8=S=0 

200 '‘FÓR J=0 TO 7 

210 ■'"REOD Oi 

220 ' = N=l=16#FNFl<: 1 > + FH0<2;' 

230 ■ ■ = P0KE I + J, 0 . PR I NT " IT' .i I +..T 

240 :!:S=s+fl 

250 > =HEXT 

260 iIREOD Oi 

270 ==0=1 6=*íFN0 ■; 1 > +FNO =; 2 > 

230 IF C SFIND255 > =OTHENHEXT = PR I HT "OK " = EHD 
290 PR I NT ” H100 ■ " , PEEK! < 63 > +256*PEEI=.: =.: 6 ‘* > 

300 DOTO 20,FD,FlE,2O,9E,B7,S£,FlS,76 

301 DOTO 02,20,73,Cl,00,05,01,47,F3 

302 DOTO C9,00,F0,03,4C,4S,B2,C3,CO 

303 DOTO Bl,47,8D,Ofl,O2,20,B9,Cl,Crí 

304 DFITR 02, 00, FlO ,00,01,47,90,00 ,"07 

305 DFITR C 6 , CS ,31,47,90, OO, C5, 20, OS 

306 DOTFl OB,Cl,E8,EC,FlO,02,D0,EO,O6 

307 DOTO 2O,7S,C1,20,B9,C1,O2,O0,95 

308 DOTO O0,00,B1„=17,C9,O0,F0,03,54 
'3í:i9 DOTFl 4C, 43,02, CS, 01,47, 9D, 00,03 

310 DOTO C7,20,OB,C1,ES,EC,OO,02,D3 

311 DflTfl 00, E: 6 , 20.78, Cl, 20,09, Cl, 09 

312 GOTO Fl2,00,O0,00,Bl,47,9ü,0O,D7 

313 DOTO C9,C8,B1,47,9D,00,C8,2O,0E 

314 ÜRTFl Fie,Cl,ES,EC,FlO,02,DO,Efl,O6 

315 DOTO 20,7S,C1,20,B9,C1,O2,00,95 

316 DFITO 00,00, B1,47, C9, 00, FO ,08,54 

317 DFITO 4C, 48 , E!2, CS, 01,4 7,90,00,03 

318 DOTO Cfl,20,flB,Cl,ES,EC,Fin,ú2,D6 

319 DOTO D0,E6,20,78,C1,20,O9,C1,O9 

320 DOTO 02,00,00,00,61,47,90,00,07 

321 DFITO CC,C3,01,47,90, 00, CB, 20, 14 

322 DlRTFl FlO, Cl, E 8 , EC, 00,02, DO, EO, 06 

323 GOTO 20,78,C1,20,B9,C1,02,00,95 

324 GOTO 00,00,01,4 7,C9,00,FO,03,54 

325 DOTFl 4C,48,02,CS,01,47,90,00,03 

326 DOTO CD,20,0B,C1,ES,EC,00,02,09 

327 DOTO DG,E6,20,78,C1,20,EÖ,C1,O9 

328 DOTO 02,00,00,00,01,47,90,00,07 

329 DOTO CE,C8,B1,47,9D,00,CF,20,10 

330 DFITO OB,Cl,E3,EC,FlFl,02,DO,EFl,Fl6 

331 GOTO 09,00,80,07,02,SD,09,02,17 

332 DOTO 78,09,OD,80,14,03,09,C1,3C 

333 DFiTFl 80,15,03, 58,60, EE, 07, 02, F4- 

334 DOTO FlD,O7,02,CD,FlS,O2,F0,O3,C0 

335 DriTO 4C,31,£0,09,00,80,07,02,46 

336 DOTO OE,09,02,00,00,C5,80,00,68 

337 DFITO 04, OD, 00, C6,80, 01,04, BD, 76 

338 DOTO 00,C7,80,04,04,00,00,CS,01 

339 DFITO 80,07,04,150,00, 09,80,08, 83 

340 DFiTFl D4, BD, 00, CFl, 80, 815,04, BD, 84 

341 OFiTFl 00,CB,8O,0E,O4,BD,O0,CC,C3 
34 2 OFITFI 80, OF, 04, BO, 00, CD, SD ,12,99 

343 DOTO 04,BD,00,CE,80,17,D4,BD,94 

344 GOTO 00,CF,80,13,04,EE,09,02,E1 

345 DÓT 0 no, 09,02, CD, 00,82, DO, 05, flií 

346 DOTFl Fl9,00,SD,O9,O2,4C,31,EO,48 

347 DOTO 20, FD,FlE, 20,80,60,38,05, 03 

348 DOTO 47,E9,07,85,47,05,48,E9,09 

349 DOTFl 00, 85,48,00, 00,01,47,00, GF 

350 DFiTFl BO ,05,02,16,4C, 30,04, C 8 ,5F 

351 DOTFl 01,47,00,90, F5,00,04, B1, DC 

352 DFITO 47,C9,02,90,05,fl2, 12,4C,Fl7 

353 DOTO 30,04,60,13,05,47,69,02,00 

354 DFITO 85, 47,05,48,69,00,85,48, EF 

355 DFITO 60.00,05, B1,47, C9,00, FO, 06 

356 DOTO 03,4C,4S,B2,CS,B1,47,CD,D6 

357 DOTO 00,02,D0,F5,1S,05,47,69,DE 
353 DOTO 07,85,47,Fl5,48,69,00,85,OE 

359 DOTO 48,60,00,00,00,00,00,00,08 

360 REN =============================== 


o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


REOOV. 
























TIPPEK-TRÜKKÖK 




o 

o 

o 

o 

o 

o 

o 


100 
110 
ISO 
130 
140 
150 
160 
1?0 
180 
190 
200 
210 
220 
230 
240 
250 
260 
270 


RÉM" 

RÉM” 

RÉM” 

RÉM” 

RÉM" 

RÉM" 


MULTI P0^3ITIER HELP 
COI-1M0OORE 64 


KES2ITETTE' JHCKIE 


i;itM x:i<;254>,VL’':254:), i:-;<7:' 
POIÍE 532S0,.'POKE 53281.. 
POKE 646.7 > PÜKE 650.255 
POR 1=0 10 7 
= = i:-;< 1 >=i0*i 
= =P0KE 53237+1,3 
'■PÜKE 2040+1,13 
MEXT 

POR 1=332 TO 396 
='POKE I,255 
NEXT 


o 

o 

o 

o 

o 

o 

o 


2S0 FOKÉ 53275,255' POKE 53269,255 
290 PR INT CHR5r (:i47> 

300 INPUT "KÖZÉPPONT X-KOODRINMTI-I" 1KX 
310 INPUT "KÖZÉPPONT V-KOOORINRTPl",KV 
320 INPUT "X-IRhNVU SUORR NHGíVSRGR", SX 
330 INPUT "V-lfeONVU SUGRR NRGVSRGR’SSV 
340 J=0 

350 POR 1=0 TO 2*ir STCÍP < ír/127:;' 

360 ''XX';:j>=cos<i>h(&x+kx 
370 ' ' V-; <: J >=S IN < O '+:SV+KV 
380 ■'J=J+1 
390 NEXT 

400 POKE 5:5230, . 'POKE 532S1,. 

410 SVS49152, XX < 0 > , VX < O > , 1, 1X r; O > 

420 EHD 
430 RÉM == 

RERD't’ 


O 

Ü 

O 

O 

O 

O 


O 

o 

o 

o 

o 

o 

O 

O 

O 

O 

O 

O 

O 

o 

o 

o 

o 

o 

o 

o 

o 


100 
1 1 0 
120 
1:38 
140 
150 
160 
170 
180 
190 
200 
210 
2 2 ! 10 
230 
240 
250 
260 
270 
280 
298 
300 
310 
320 
330 
340 
350 
360 
370 


FÍET'I :1í*##if#;+ií(i********i*#4;*:*******:+i* P 

RÉM SPRITE ÖSSZEÁLLÍTÓ C-64í+í 

RÉM * ========'=1========'= * 

RÉM * , , 

RÉM * KÉSZÍTETTE' BRUCE MAESTRO # 

RÉM * <OLASZ ENDRE> * 

RÉM ;+:s|t**'+:**:'l<***'H':i******;+:*:'«**+:*+*** 

PR I NT " ::J" ' POI<E532S0,8 ' P0KE532S 1,0' P0I<E646,5 
FÓR 1=532871053295 ' POKEI , 1 ' HEIXT 
POKE650,£55 

FÓR 1= 16320 TO 163S2 
''READR'POKEI,A'S=S+fl. 

HEIXT 

IF SO 1056 THEH PRINT"HIBA" 

DATA 080, 000,0013, 000,000,000,088 
DATA 000,000,000,000,000,000,000 
DATA 000,000,000,000,000,004,000 
DATA 000,012,000,000,024,080,008 
DATA 043,000,800,096,©00,024,192 
DATA 000,025,128,800,827,008,808 
DATA 030,000,000,031., 192,800,031 
DF1TFI 1 92,000,000 , ©00,000,000 000 
DATA 000,000,000,000,008,000,800 
POKE2040,255 ' F=0 ' A=0 ' B=0 ' C""'© ' D=0 ' R=@ 
P0KE5:3269,255 
X=24'V=50 


Sprite összeállító 

Ebben a programban maximum 6 
spritét állíthatunk össze. Egy nyíl mu¬ 
tatja, hogy hányas számú spritét lapoz¬ 
gatjuk. 

1. billentyű lenyomására az első 
spritét lapozzuk, 2. billentyű lenyomᬠ
sára az első spritét visszafele lapozzuk. 


3., 4. 

billentyű második sprite 
lapozás előre, hátra. 

5., 6. 

billentyű harmadik sprite 
lapozás előre, hátra. 

7., 8. 

billentyű negyedik sprite 
lapozás előre, hátra. 

9.,0. 

billentyű ötödik sprite 
lapozás előre, hátra. 

+ ., —■ 

billentyű hatodik sprite 
lapozás előre, hátra. 

K. 

kilépés 


O 

O 

o 

o 

o 

o 

o 

o 

o 

o 

o 


380 PRINTTRB C8 "iüWl 


390 

PRINT"!.... 

1. 

:3PRITE 

SHAPE 


480 

PRINT"2_ 

1 . 

SPRITE 

SHAPE 

- 

410 

PR INT "3. . . 

2.U 

SPRITE 

SHAPE 


420 

PRINT"4.... 

2. 

SPRITE 

SHAPE 


430 

PR int "5,. . . . 

3. 

SPRITE 

SHAPE 


440 

PR INT" 6. . .. . 

3u 

SPRITE 

SHAPE 

“ 

450 

PRIHT"7.... 

4. 

SPRITE 

SHAPE 


460 

F4:;:IHT"S. . . . 

4. 

sprite: 

SHAPE 


470 

PRINT"9_ 

5- 

SPRITE 

SHAPE 

4' 

480 

PRINT"0_ 

5. 

SPRITE 

SHAPE 


490 

PRIHT"+_ 

6 - 

SPRITE 

SHAPE 

4' 

500 

PRINT"-- 

6. 

SPRITE 

SHAPE 



510 PRINT"K..., EHD 
520 POKÉ53250,100'P0KE53251,70 
530 P0KE53252,121' P0I<E53253,70 
540 P0KE53254,100'P0KE53255,91 
550 P0KE:53256 ,121= P0KE53257,91 
560 P0KE5325S, 100'P0KE53259, 113 
570 POKESSaeO,121'P0KE5326 1,113 
580 üETR:*: 

590 IFn#= " 1 " THENR=R+1 ' ;";=90 ' Y=55 
600 IFA.í:""'" 2 "THEHR=A--1 ' :X=90 ' V=55 
610 IFfl$:="3“THENB=B+l 'X=150'V=55 
620 IFRa:'.- "4 "THENB=B--1 = 150 ' V=55 


rTTTTTT2;B:w)«iiii;BW';:iSt:;.!!:ii 


O 

630 

I Ff:ia= "5 " THEHC=C+1 ' X=90 ' VítsSO 

O 

640 

IFRí="6"THEHC=C-l ' :":=90 ' V=S0 



6; 50 

IFAa="7"THEND=D+1'X=150'V=S0 

0 

O 

660 

IF"Aí:== " S" TI-IEHD=D-- 1 ' X= :l, 50 ' V=80 

STB 

I Ffia= " 9 "THEHR=R+ 1 ' :";=90 ' '■1’= 1 05 



680 

IFAa="0"THENP=R-1'X=90'V=185 

0 

o 

690 

I FF:|Í= " + " THENF='F+1 ' X= 158 ' V=' 105 


700 

11-A:f = " - " THENF'==F- 1 ' X= 150 ' V= 105 


o 

710 

IFRa=""K"THEHP0K.E53269,0 ' END 

O 

720 

IFA';:0THENA=0 



730 

I FR>255THE:NA=255 

O 

o 

740 

IFB'::0THEHB=0 


750 

IFB>255THENB=255 



760 

IFC<0THENC=0 

O 

o 

TTB 

I FC>255THENC;=255 


7 fi (Ti 



o 

790 

IFD>255THEHD=255 

O 

880 

IFFC0THEHF=0 



810 

IFF>255THEHF=255 

o 

0 

820 

IFR<0THENR=0 

830 

IFR>255THEHR=255 


Q 

831 

P0KE5324S, X ' P0I<E53£49, V 

0 






C ' POKE2044, D ' POKE2045, R ' POKE2046, F 



845 

POKE204©,255 — 


o 

050 

GOTO5S0 





























HARDVER 


O 

Hobbi ELEKTRONIKA 



C-64 IC teszter 


Különböző C-64 bővítők, logikai 
áramkörök építésé, tesztelése, javítása so¬ 
rán gyakran találkozunk olyan problémᬠ
val, amikor egy TTL IC paramétereit mű¬ 
ködőképességét kellene meghatározni. 
Elvileg ez nem nagy gond. Mivel ezek ka¬ 
talógus áramkörök, egyértelműen adott a 
működésük igazságtábázata, ami alapján 
a teszt elvégezhető. A gyakorlati megvaló¬ 
sítás azonban komoly korlátokba ütközik. 
Gondoljuk meg, hogy ezen IC-k nagy 
többsége 14, 16, 18 vagy 20 lábú tokban 
helyezkedik el. Vegyük alapul a 14 lábú 
tokot és ennek egy gyakran használt rep- 
rezentását a 740ü-át. A bekötését és igaz¬ 
ságtáblázatát itt most szándékosan nem 
adom meg, mert mindenkinek van olyan 
katalógusa, amelyben ez szerepel. Ha ezt 
az IC-t tesztelni akarjuk hagyományos 
módszerrel az igazságtáblája szerint, tᬠ
pot adunk neki és jelkombinációt kapcso¬ 
lunk a bemcnctckrc, közben figyeljük a 
kimenet válaszát. A fixen télkötött két táp¬ 
vezetéket leszámítva 12 lábat kell ,,végig¬ 
tapogatni”. A gyakorlati megvalósítása 
ennek nem is olyan egyszerű, pedig itt 
4X3-as csoportban végezhetjük el a mé¬ 
rést. A nagyobb gond akkor van, ha nincs 
igazságtáblánk vagy olyan IC kerül a ke¬ 
zünkben, amit nem tudunk azonosítani. A 
saját gyakorlatomból tudom, hogy a szov¬ 
jet IC-k nagyrésze ilyen és ezeknél a meg¬ 
bízhatóság sem a legjobb. Nem elhanya¬ 
golható az a tény sem, hogy egyre több he¬ 
lyen kerülnek selejtezésre a 70-es, 80-as 
évek berendezései, amelyek tele vannak 
ilyen TTL áramkörökkel. Ezeket kár len¬ 
ne szemétbe dobni, hiszen nagy részük 
újra hasznosítható, ha biztosak vagyunk 
benne, hogy kiforrasztáskor nem sérültek 
meg. E pár indok alapján kirajzolódik, 
hogy jó lenne egy olyan, ,tábláz.at”, amely 
tartalmazza sok TTL IC igazságtábláját és 
kellene egy olyan hardver, ami biztosítja, 
hogy a táblázat adata minden IC lábra el¬ 
jusson. Erre a feladatra számítógépet cél¬ 
szerű ha.sználni. A működés így már vilᬠ
gossá válik. A szoftver tartalmazza min¬ 


bővítések 


den egyes IC igazságtábláját, amit sorban 
egymás után rákapcsol a katalógusban 
megadott lábakra és a katalógusban jelzett 
kimeneteken nézi a válaszfüggvényt. 
Ahol ez a válaszfüggvény megegyezik a 
táblázatéval az a kere.sett IC adata, ami 
alapján kijelezhető a név és a paraméter. 
Ezután vizsgáljuk meg részletesen, hogy 
hogyan működik az az áramkör, ami erre 
a téladatra készült. 

Az IC teszter 
hardverének működése 

Már említettem, hogy a leggyakrab¬ 
ban alkalmazott áramkörök 14, 16, 18 
vagy 20 lábúak. Ezeket megvizsgálva 
kiderül, hogy az esetek nagy többségében 


a tápfesz lábak azonos helyen vannak, de 
néhány kivétel miatt szükséges más helyre 
is tápot kapcsolni. így az áramkör földet 
kapcsolhat a 7, 8, 9, 10, 16, 17 lábakra. 
-1-5 V-ot kapcsolhat a 4, 5 és 20 lábakra. 
A táppontok közül egy, a 10. láb fixen 
földre köthető, a többi tápellátá.sa csak 
szoftver útján, kapcsolófokozatokkal le¬ 
hetséges. Az 1. ábra mutatja a kapcsolási 
rajzot. Az áramkör lényeges eleme a két 
db 8255 típ. IC, amely egyenként három 
8 bites portot tartalmaz. U1 esetében 
mindhárom kimeneti üzemmódban dol¬ 
gozik. U2-nél a C-port 3., 7. bitjei kime¬ 
neti, az összes többi bemeneti üzemmód¬ 
ban van. A beállított üzemmód a működés 
során sosem változik. 

Kövessük végig a kimeneti portok lᬠ
bait az 1. táblázat és a kapcsolási rajz sze- 


A portfunkciók táblázata 

/. láhlázat 


IC, portvonalai 

Tesztfoglalat 

IC 2 portvonalai 

Tcsztfoglalat 

(lábs/ám) 

kivezetc.ssel 

kivezetései 

A port 

PAO (4) [R,] 

1 

PAO 

1 

PAI (3) [R.J 

2 

PAI 

2 

PA2 (2) 1R,| 

3 

PA2 

3 

PA3 (1) IRjJ 

4 

PA3 

4 

PA4 (40) |R,] 

5 

PA4 

5 

PA5 (39) 1R,1 

6 

PA5 

6 

PA6 (38) [R.d 

7 

PA6 

7 

PA7 (37) fR,] 

8 

PA7 

8 

B port 

PBO (18) 1R.,J 

20 

PBO 

20 

PBI (19) lR,,j 

19 

PBl 

19 

PB2 (20) 1R.,J 

18 

PB2 

18 

PB3 (21) IR.,J 

17 

PB3 

17 

PB4 (22) (R„l 

16 

PB4 

16 

PB5 (23) (R„] 

15 

PB5 

15 

PB6 (24) lR,d 

14 

PB6 

14 

PB7 (25) [R.d 

13 

PB7 

13 

C port 

PCO (14) [R,] 

12 

PCO 

12 

PCI (15) IR„J 

11 

PCI 

11 

PC2 (16) IR„J 

9 

PC2 

9 

PC3 (17) LED vezérlés 

— 

PC2 LED vez. 

_ 

PC4 (13) -t- 5 V (T,) 

4 

PC4 + 5 V (T,) 

20 

PC5 (12) -1- 5 V (Td 

5 

PC5 0 V (ICj e, 0 

7 

PC 6 (II) 0 (IC 4 b) 

17 

PC 6 0 V (IC 4 e, 1) 

8 

PC7 (10) 0 (IC 4 a) 

16 

PC7 0 V (IC 5 a, b) 

9 


fX MÁRCIUS ” 22 
































































































































































































































































































































































































HARDVER 





fr MÁRCIUS ' 24 





































































































































































































































































HARDVER 


rint! Látszólag ez semmitmondó lépés, 
felesleges időtöltés lenne, de most semmi 
esetre se hagyjuk ki, mert a működés pon¬ 
tos megértésének ez alapvető feltétele. 

A portok lábfunkciói a táblázat alap¬ 
ján egyértelműen meghatározhatók. A 
portok vezérlőjelét az U3 illeszti a C64 
buszjeleihez. U4 és U5 a táptészek és a 
LED kapcsolását végzik. A OV-ot egy 
vagy két 7406 nyitott kollektoros invcrter 
biztosítja. A tápfcszültség kapcsolᬠ
sát egy PNP tranzisztor és egy nyitott kol¬ 
lektoros invcrter végzi. RÍ—R19 a teszte¬ 
léshez szük.ségcs korlátozó ellenállások, 
értékük azonos és 330 Í2—470 fi között le¬ 
het. Az ellenállá.sok szerepe nagyon fon¬ 
tos, ezek teszik lehetővé az IC tesztelését. 
Ha ez bemenetre kerül nincs gond, egy¬ 
szerű felhúzó ellenállásként szerepel, a 
logikai működést nem befolyásolja. A ki¬ 
menetnél más a helyzet. 

Az ellenállás a port által küldött kom¬ 
bináció alapján ellenkező irányba húzza a 
kimenetet, mint ahol a válasz függvény 
szerint lenni kellene. A kimenet ezt a ter¬ 
helést képes a saját szintjére húzni. Ezt az 
U2 érzékeli, a szoftver feldolgozza és ki¬ 
értékelve az eredményt képernyőre írja az 
IC nevét. 

A működésből következik, hogy az 
áramkört hibás IC-k vagy passzív alkatré¬ 
szek nem veszélyezteti. 

Szerelés, éiesztés 

A teszter csak furatgalvanizált panel¬ 
re szabad megépíteni. Ez a HOBBI 
ELEKTRONIKÁ-nál beszerezhető. Ezt a 
kontúrvonal mentén vágjuk körbe és il¬ 


lesszük pontosan a C64 bővítő portjának 
csatlakozójához. Csak azután kezdjen az 
alkatrészek beforrasztásához, lia azt pon- 
to.san bereszelte. A panelon lévő nagy fu¬ 
ratba egy M3-as beütő anya kerül, ami a 
dobozoláshoz szükséges. Az alkatrész- 
beültetést az ellenállásokkal kezdje, ültes¬ 
se le a panel szintjére. Helyszűke miatt 
1/8 W-os méretet használjon. A két 
8255-öt feltétlenül helyezze foglalatba, 
U3, U5-nél ez nem fontos. A te.sztclő fog¬ 
lalat helyén 20 lábú gyorscsatalakozót kel 1 
használni. Ezt wrapptüske segítségével 
ültesse a panelbe, hogy dobozolás esetén 
a többi IC .szintje lölé emelkedjen. A sze¬ 
reléskor pi.sztolypákát ne ha.sználjon és 
ügyeljen a precíz munkára. A kész áram¬ 
kört átvilágítva vizsgálja meg, hogy 
nincs-e rajta hiba. Ha kész, dugja rá a gép¬ 
re és olva.ssa be lemezről a .szoftvert, ami 
öntLirbós, önindítós. 

Elindulás után leteszteli az áramkört. 
Ha nem működött újból lehet tesztelni 
vagy a főmenübe lépni. A főmenüben vᬠ
laszthatunk a programozott tesztelés, IC 
lista és a teszter teszt között. Programo¬ 
zott tesztelés az IC típusának megállapítᬠ
sát jelenti. Ez úgy történik, hogy sorban 
vizsgálja az összes ismert típust és ame¬ 
lyiknél pontosan megfelelő vála.szt kap, az 
a keresett IC. A típus megállapításakor a 
képernyő tetején kiírja a tesztelt IC nevét 
és egy rövid ismertetést. Ha nem ismerte 
tél, akkor azt írja ki, hogy az IC ismeret¬ 
len vagy hibás. Ezután lehetőségünk van 
új IC tesztelésre, IC próbára és főmenübe 
lépni. Próbánál kiírja a jó, a ros.sz és az 
összes tesztelés számát. Ilyenkor a megál¬ 
lapított típus tesztelését ismétli. Ebből a 
SPACE gomb lenyomásával lehet kilépni. 


A főmenü következő pontja az IC lis¬ 
ta. Ez. az összes olyan IC nevét és rövid le¬ 
írását tartalmazza, amit ismer a program. 
A listában a kurzor gombokkal lehet mo¬ 
zogni. Kilépni a Return gombbal lehet. 
Összesen 174 féle TTL IC-t ismer a prog¬ 
ram. 

A programnál a gombok figyelése le 
van lassítva, ezért türelmesen kell hasz¬ 
nálni. Az építéskor gondos munka mellett 
és hibátlan alkatrészek esetében első be¬ 
kapcsolásra működőképes az áramkör. 

Nagyon fontos!!! 

Vigyázzon a 82.55 típusára, fontos, 
hogy az órajel frekvencia 2 MHz felett le¬ 
gyen, egyébként a C64 teszter hibát jelez. 

A sebesség az. Ul-nél (kimeneti 
PORT) lényeges. Az U2 helyén lassúbb 
változat is megtélel. A sebességet a gyártó 
cégek nem egyformán jelzik, azt kataló¬ 
gus alapján azonosítsa. 

Az egységcsomagban megjelöltem, 
hogy melyik az, U1 és melyik az U2 helyén 
használható 8255, ha a két IC nem azonos 
sebességű. 

FIGYELEM!!! 

Az IC tesztért építeni szándékozók¬ 
nak segít a szerző HOBBI ELEKTRONI¬ 
KA üzletének szolgáltatása. Az üzletben 
működő mintadarabok megtekintése után 
vásárolhat panelt, IC-t, egységcsomagot, 
készterméket. Az árajánlat megtalálható a 
2. oldalon közölt hirdetésben. Cím: Bp. 
VII. Dózsa György ti. 16. T: 122-8892. 


Alapbeállítások 

röviden 

SYS500(X), K, H, C, S 
kiadása után a gépen köny- 
nyebben beállíthatjuk az 
alapokat. A K-nál a keret- 
színét kell megadni, a H- 
nál a háttérszínt kell meg¬ 
adni, a C-nél a cursor szí¬ 
nét kell megadni, az S-nél a 
sprite bekapcsolást lehet 
megadni. 


O 

O 

o 

o 

o 

o 

o 

o 


1 00 
110 
1:20 
1:30 
140 
150 
160 
170 
180 
190 
200 
:210 
220 
2:30 
240 
250 
260 
270 
2S0 
2:90 
■300 


REH ***********#**:♦**»*#*#:****#*# 
RÉM *RLFlPEiEflLL ITRSOK ROVI DEH-i;;64# 

RÉM *.—---- * 

RÉM -^RKT ^ 3VS50000KERET.. HRTTER. .. * 
RÉM *CURS. SZIH.SPR. EEKflPCSOLRS* 
PEH +; .. * 

RÉM * készítette^ BRUCE MRESTRO * 
RÉM ##•*:♦***♦*******:**:**:**:***:♦#**:* 


FÓR 1= 50000 
^ MíERDR^POKEI 

ne:>ít 

IF S<> 5720 
DfiTR 032,. 115.. 
ORTR 158,183.. 
DRTR 0:32.. 115.. 
DRTFl 180,000.. 
DRTR 000,032, 
DRTFl 134,002, 
DRTR 1S3,180, 
DFlTfi 174,167, 


TO 50051 
,R ^ S=S+R 

THEH PRIHT"HIBR‘' 

000,234,234,234,032 
180,000,142,032,208 
000,234,032,158,183 
1.42,033, :208,032, 115 
158,183,180,000,142 
032,115,000,032,158 
000,142,021,208,076 
153 


O 


O 


O 


o 


o 


o 


o 


25 


MÁRCIUS 









0 ^ 


Pattogó golyók 


Olvastam pályázati felhívásukat és 
szeretnék benevezni a mellékelt prog¬ 
rammal. Remélem megfelel a pályázati 
feltételeknek. A feldolgozott játék ere¬ 
deti nevét nem ismerem, ezért adtam 
neki a ,,Pattogó golyók” fantázianevet. 
A játék látszólag a dámajátékra hason¬ 
lít, azonban itt a játék célja, hogy a 
lehető legkevesebb lépésből saját bᬠ
buinkat átlósan mozgatva, a kiindulási 
mezőkkel ellentétes oldal utolsó 2 sorᬠ
ba juttassuk. A bábukat kizárólag a sár¬ 
ga üres mezőkre lehet mozgatni átlós 
irányban úgy, hogy mind a saját, mind 
az ellenfél bábuit átugorjuk. Az győz, 
aki hamarabb eléri összes bábujával az 
utolsó 2 sort. Ha valamelyik játékos 
nem tud lépni, akkor kimarad, ha egyik 
játékos sem, akkor döntetlen a parti. 
Csak előre lehet haladni a sakktáblasze¬ 
rű játéktéren, amely 8x8 mezőből áll. 
A programban a gép ellen játszhatunk 
2fokozatban. A fokozatok között,,csu¬ 
pán" annyi a különbség, hogy a máso¬ 
dik fokozatban nem fordulhat elő, hogy 
a gép ne tudja befejezni a játszmát. A 
gép az 1. fokozatban 2 stratégiát valósit 
meg, amelyeknek fontossági sorrend¬ 
jük van. A legfontosabb szabály a gép 
számára: azzal a bábuval lépjen, ame¬ 
lyikkel a legtöbb lépést lehet megtenni, 
ha több ilyen lépés van, akkor a 2. sza¬ 
bály lép érvénytae: az a figura lép, ame¬ 


lyik a haladási irányhoz viszonyítva a 
leghátsó pozícióban van. Ha ez is meg 
egyezik, akkora RND függvény dönti el 
a lépést. Mivel előfordulhat olyan lépés- 
sorozat, amelyről nem lehet a játszmát 
befejezni, szükséges volt egy új sza¬ 
bályt bevezetni, amely a ,,cél mező el¬ 
érési szabály” nevet viseli. Ez a szabály 
hosszabb számolást igényel, ezért ke¬ 
rült a 2. fokozatba. Vagyis a lépés csak 
akkor kivitelezhető, ha ezzel a lépéssel 
be lehet fejezni a partit. Ez a szabály te¬ 
hát a legmagasabb rendű, de a 2. foko¬ 
zatban is csak a 9. lépéstől lép érvény¬ 
be. Ez azért van, mivel 8 lépésből még 
nem lehet olyan szituációt előidézni, 
amely előnytelen pozícióhoz vezet. Erre 
és a szabállyal kapcsolatos egyéb meg 
állapításokra ,,próbálgatásokkal” jöt 
tem rá. 

Ezután pedig a programleírás kö¬ 
vetkezik. A játékteret T%(9,9) tömb¬ 
ben ábrázoltam, ahol az első index a 
tábla X koordinátája, a 2. index az Y. Az 
origó a bal alsó sarok. M ind a gép, mind 
a játékos figuráinak aktuális pozíció¬ 
ját külön tömbben tároltam. F%(16,2) 
tömbben azoknak a figuráknak a pozí¬ 
ciói vannak tárolva, amelyek egy 
bizonyos lépéshosszal rendelkeznek, 
ahol F%(X, Óla lépés iránya. Ezek a de¬ 
finíciók a program 1000—1050 soraiban 
találhatók. Ezután egy iracionális rész 


O 


O 


O 


O 


O 


O 


O 


O 


o 


o 





10 GrJSÜBS0«0 • GOTO500 
1 m GETOt- ■■ í FÖ!r-= '• " THEH100 

110 PF:IHT"SIWW"THB<.24;'"-M FW.TI? I = 1GEH' 

120 GETt;!¥= IF Qí = " “THEI'ri20 
130 I FGW-'O ■■ 1" THEWSVS6473Ö • REtl BVE BVE 
140 GOTO1100 

300 PRIHT"riW»r;.'-F;! H ..r-vT ■l'>.S^.FrB■^L.VT? 1 = IGEH" 

310 GETQ4’ IFi;!Í = “"THEH310 
320 IFQ:í-C>'‘I"THEH1000 

330 PP.I.t'<T"ri« J-^T H:;SZfiB-jLV" 

340 PP.I.HT"»IF1 .J-^T ■H.OS rt PIROS GOLVUÍRT VEZETI. 

350 PRIHT"fi .J-, !-!:; C 'l-JH n-lZ •'-SSZES GOLVL.T HZ UTOL- 
360 PR INT "SE K. M' SORBH .JtJTTBTt'tl, H LEGKEVESEBB L •- 
370 PRINT"P''SB'-L.H GOLVUÍRT CSRK FERÓ'+( LEHET fi 
380 PRI.MT"LEGKsZELEBB£ S-.RGR HEZ-'-RE .JtJTTRTHI. 

31^0 PRII'(T"fi GOLVLT fi CRSR-RRL LEHET KIV-,LfiSZTfiHI. 
400 PRirTr"R L ■'F'''S IR-.HV-.T fi SPRCE-SZEL LEHET V-.L- 
410 PRV.HT" TŰZTRTHI. .HR K'-SZttH VRGVtJHK HKKOR RETtJRt'( 
412 PR INT" CSRK. EL'-RE LEHE'i HRLRÜNl/Hfi VfiLfiMELVIK 
414 PR!:NT"F ■!. HEIfl TUD L ■'F’Hl RtíKOR fi N-.SIK KWET- 
416 t=-RIHT"KEZlK.HR EGVIK F 'E. SEM TrjO L''PHI RKKOR" 
418 PR!:Nt‘“0'.NTETI....EN. SOK. SZERENCS''T ! " 

420 GETG'4^ IF 04-=" "THEN420 
430 GOTO1800 

500 PRINT'L'Í««ÍRIA8«WW"1RB<;16,' "PfiTTOGLíttJ'JRIfJlllim«ri30LVUc. 
510 PRINT"i«Kr«íM«í»í -SZI I ETTE • :WMiÍi»:ifiZSL .J-sNOSJ«WW 1992 
520 X1 =2 ■ V1 ■- í' ^ X0=Ö • V0= 1 ‘ GO.SUBS000 
530 GETQ4 ^ 160.4=" “ r HEH530 


PÁLYÁZAT 

van a programban, amely beállítja az 
alapértékeket. A T% tömbben 0 a til¬ 
tott mezőt, 1 a játékos bábuit, 2 a gép 
bábuit és3 az üres mezőket szimbolizál¬ 
ja. A gép lépése a 2000 sortól van elhe¬ 
lyezve. Mivel 8 bábu van, ezért egy cik¬ 
lus indul 1-től 8-ig, és egy bábu elméle¬ 
tileg 2 irányban tud lépni, ezért a ciklus 
magja gyakorlatilag 16-szor fut le. Az 
első fázisban a ciklus meghívja a lépés¬ 
generátort, melynek feladata 1. foko¬ 
zatban az aktuális lépés hosszának 
meghatározása F%(0, 0)-ban. 2. foko¬ 
zatban ezenkívül eldönti a gép, hogy a 
lépéssel befejezhető-e a parti, ha nem, 
lépésszámnak 0-át ad át. A 2020 —2030 
sorban a program mindig a leghosz- 
szabb lépést jegyzi meg. Ha ezzel meg¬ 
egyező hosszúságú lépés is létezik, ak¬ 
kor ezt is megjegyzi. Tehát ez a rész va¬ 
lósítja meg az 1. szabályt. A 2. szabályt, 
vagyis a hátrébb lévő figurákat a prog¬ 
ram 2050—2100 sora válogatja ki, majd 
ha még mindig több lépés marad, a 
2110 sor dönt. Ezután megtörténik a lé¬ 
pés mind a képernyőn, mind a tömbök¬ 
ben, majd a 2180 sorban megvizsgálja 
a gép, hogy nem nyerte-e meg utolsó 
lépésével a partit; ha nem, akkor átadja 
a vezérlést a játékos lépésével foglalko¬ 
zó résznek 1500 sortól. Szintén az 
1500-as sorra lép a program, ha a maxi¬ 
mális lépésszám 0, vagyis nincs szabᬠ
lyos lépés, de ebben az esetben a dön¬ 
tetlenjelző magas lesz. A lépésgene¬ 
rátor úgy működik, hogy a program 
,,képzeletben” addig lépteti a figurát, 
amíg üres mezőre nem jut vagy O-ra, de 
ez azt jelenti, hogy erre már nem lép¬ 
het. 9600-as sortól van a 2. fokozat fő¬ 
szabálya, az ,,elérési szabály”. Ez nem 
számtömbbel dolgozik, hanem a tábla 
ba másolódik soronként. Ezzel a fo- 
•^^"gással gyorsítottam a programot, mivel 
astringműveletek gyorsabbak. A lelke 
9800-tól kezdődő szubrutin, amely 
kiszámítja, hány figura éri el az aktuᬠ
lis álmezőt. Abból a megfontolásból, 
hogy az álmezőt csak azok a figurák 
érik el, amelyek a célmezőtől fölfelé 
benne vannak abban a háromszögalak¬ 
ban, amelynek csúcsa a célmező. Ez¬ 
után a program összehasonlítja az 
egyes célmezőket minimálisan elérő 
bábuk számával. Ha ennél kevesebb éri 
el a célmezőt, nem lehet a játszmát be¬ 
fejezni. Ezeket a számokat szintén pró¬ 
bálgatással állapítottam meg. Remé¬ 
lem, ez a programleírás és a program¬ 
ban lévő kommentek elegendőek a 
program megértéséhez. 

Tisztelettel: 



O 


O 


O 


O 


O 


Gazsó János 


Qí '/lÁRCtUS 














PÁLYÁZAT 



o 

o 

o 

Q 

O 

O 

O 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

c 

o 

o 

o 

o 

o 

o 

o 


Í540 6OTO30Ö 

1Ö00 RÉM T OMBDEFI C1 OK. 

101.0 or.r'tT'i(:s‘,9>,er';<:s,2:> oíEH thblfi es gép higüp.pii 

10£0 OlMFXCie.ai'=REt'l fttCtUfiLIS FÍGURfi 

1030 DitiE:4<;a;< ■ P.EH gelmezok'.é’i elero figurbk szhmb 

1840 T13 = " 8 0 0 8'‘-T2*="0 8 8 8 " n Ot-TZí+Tlí+TSí+T 1Í+T24+T1Í+T2Í--+Tlí ^ REH TRBLfi 
10S0 Dttl.lMCS/2;- ■REfl .J'RTEKOS FIGÜRRÍ 
1100 R.EM I RBLFl K. l RR.) ZOLRS 

1110 PR 1 RT •' LTl" ; ■■ (■■ ÜR 1 = 1 T04 > PR 1R V " “ ; P14-; > REXT1 ' PR 1 RT 

1128 FOR.I = lT04;PRlH'l.; P2Í-1 ' HEX'I I -PRIRT ■■ FÜR 1 = 1X04 = PR. IRT “ " ;P3í; -REXTI •PRINT 

1130 F0R1 = 1T04 ^ PRIRTPI-X; ;■ “ i ■■ REXTI ^ PPIHT 

1140 F0RÍ, = 1 r04'PRÍ.RTP2S-; “ "1 ' REX1 1 > PRIRT ‘ F0R.l = ir04 ’ F'RIRTPSÍ-j " "REXTIsPRIRT 

1150 p4dr-=‘' n r rn” rrv rxr ■ P5í="rn“ rrr n~r iTr 

1 lfc0 PRlRT-rri" , ^ F0R.I=i r02 ■ F0R..J = 1T03 PRlRTP4t- '■ REXT.J F0R..J=1T03 > PRIRTPSÍ-' REXT.J, I = PR.l 

RT " ö" . 

1165 F0RI = 1T04'PR.1RÍ " ";P1-X, ‘REXTI‘PRIRT 

1168 FÓR I = 1T04 ■ PR I RT " " ; F'ZíT- 1 ‘ REXT I ■ PR IRT ‘ FÜR I = 1T04 PR. I RT " " 1 P3Í i = REXT I ‘ PR IRT 

11<’0 FORI = lT04‘PR.lRTP1.4IO " "1 ‘REXTI -PRIRT 

1180 FOR.I = lT04 ‘PRIRTP24-, “ " ; ‘REXT I -PRIRV ■ FÓR I = 1T04 ‘ PR.l RTF-Oí, " '' ; ‘REXTI ‘PRIRT 

1200 RÉM IRICIRLÍZHEHS 

1210 FOR.I=0TOS« ‘ FOR..I=0'VOy ‘ TXt I / .; >==0 ‘ REXT.J . I 

1220 F0RI = lT07S rEP2 ‘F0R.J=3T05STEP2‘ TX<I ,.J>=3‘ TXt; 1 +1, .J-+1 >=3 ‘ REXT-JO I -03=0 
1230 FÓRl = 1T0TSTEP2‘TX Cl,1> = 1’TX C1 +1,2 > = 1‘TX CI,Z > =2‘TX <I -H ,8 > =2'REXT 
1240 RÉM 1=1. .JRTEt:.O8;2=GEP;3=URES,0=REM LEHET lOE LEPRI 
1250 FORl = lT07STEP2 ‘BXC 1,2:‘=7 ‘BXCl , 1 > = I ‘ BX< 1+1,2>=8 ‘ BXC 1 + 1 , 1> = I+1 ‘REXT 
1268 RÉM BX<X,X:'=OEP BRBUIRRR K.OORD. , BXCX, 1 >=X-KOOR.O. ; BX<.X, 2>=Y-K00RD. 

127’0 F0RI = 1T07STEP2 •• .JX<; l ,2> = 1 ‘ .JXI l , 1> = I ‘ .JX< 1+1,2>=2 ‘-J'XC 1 +1, 1> = I + 1 ‘REXT 
1280 R.EM .JX<:X,X>=.JRTEK.OS BfiBUXRHK. KOORD. ..JXCX, l >=X~KOOR.D. ;-JXÍX,2> =V-K00R.D. 

1400 R.EM Rí K.EZO? 

1405 PRIHT"PI»WW" FVRB<:25> "H-sRVRS F0K02RT?" ‘ PR.IRT" W" ; TRBCZZJ''1. VRGV Z.M" 

1406 GETQÍ- ‘ IFVHL>:;0.S--;<-C10R.VRL<.Qí >>2THER1406 
1407’ fo=vrl<;q4;‘ 

1410 PR1RTTRB<;25::''‘IM'..I KEZD"? 0=0'f " ‘ PRIRTTRB<27> " 

1415 6ETQ4‘ IFO.Í=" " THERl415 
1417’ PR.IHT"i5ttl«".;TRB<25>'‘ 

1420 lFO$="0"THEM2000 
1430 GOTO1508 

1580 R.EM .JRTEK08 LEPESERER BEVITELE 

1505 OOSUB3000‘IFI=21THER1510 

1506 IF01 = 1 THERPR.IR I "«■.«««■•; Í RB(;25 ;' ••Ü'-RTETLER í " ‘ 00X0108 
1507’ PR.IRT'‘«B"TRB‘:'.25 >“REM L 'PHET ! ■' ‘00X02808 

1510 008064088 

1580 TXÍXS / V0;‘=3 ■■ TZCXl. V1 > = 1 

1585 .JX<;i-16, 1>=X1 -.JXC I-16,2;'=V1 ‘ GO8UB8000 ‘ R.EM LEF’ES 

1588 F0R.1 = 1107’ST£P2 IF TX< I, (’ TLMORT XC I + l.. eXL’l THEHI = 10 

1600 REXTI 

1610 IFI=12VHER2000 

1628 RÉM .JRTEKOS RVERT 

1638 PR.IRT"«•»»«" TRB<'.25;>“.J-.T TTOS RVERT! " ‘G0T0188 
2000 D1=0 

2010 F=0 ‘ LS=LS+1 ‘ FX<:8,1 >=8 ■ IR.=-1 •• FORR I = 1TÜ8 
2015 IR=8~IR‘008068588‘RÉM IR=LEPES IRRRVR 
2028 IFFX<;0,0>>FX<:8, 1>THEH2025 
2023 00X020:30 

20725 F'XCO/ 1 >=FX<'.8,0J ‘FXCl, 1;'=BX<;FI. IJ ‘ FXt 1,2>=BX<;FI , 2 J ‘F = l ‘ FXí'. 1,8) = ÍR ‘ 00X028:35 
20:30 IFFX<0,0>‘=‘‘F"X<'.0, 1 >THERF=F + 1 ‘ FXCF, 1 /=BX<;FT , 1 > ‘ FXCF , 2>=BXí:F 1 / 2) ‘ FXCF , 0> = IR. 
2035 1FIR=1THER2015 

2040 MEXTF1‘R.EM F XCX, X ;‘=LEOTOBBET LEPŐ BRBU; F =BRBOK. SZRMR. FXÍB, 1 J=LEPESH0SS2 
2045 IFFX< 8/ 1 >=0TF-tEHOl = l ‘ 00X01500 
2050 R7’=l ‘ 1FF=1THEH2128 

7c'.060 F!7’=8 ‘ F'OR 1 = 1 TOP' ‘ IF FTXT I / 2 J7‘F'X<'. 1 / 2> THERR7’ = 1 ‘ 00X02888 
2065 iFF'x; 1.2 ';'=f:';<; i /2;‘TF-!ERR7=fl(’+i ‘ OOTO 2080 
207’0 OO'IOZIOO 

;2880 FXlRV . 2,''=FX':. I. Z J = F XCHÍ’, 0;‘=FX<: 1 , \-i 'f 
20B0 FXCR?, 1 ;‘=FX':. l / 1 > 

2100 REXT1‘R.E.M R LE.GHHT80 F lOüRFl FX<. 1,X> 

2110 IFR7'>1TFIERR7'=‘IM ! <.R(''*R.RÜ<.0>+1 > 

2120 X0=FX':.H7', 1> ‘ V0=FX'::Rí’. 2;- ‘ 1R=FX<;R7’, 0> •• X1=X0+1R.»FX<0 / 1> ‘V1=V0-FX<0/ 1> 

2140 T’i < X0. V0 > =3 ‘ T X <. X l - V1 ;> =2 ‘ 6ÜSUBy000 ■ RÉM LÉPÉS 
2158 FORl=lT08 

2160 IFBXC.l , 1)=FX<.R7’/ 1 JRRÜBX':. 1.. 2;‘=FX<.R7’, 2,'THERBX<; 1, 1>=X1 =BX<;i,2>=Vl ‘ 1=8 
217’0 REXT‘RÉM BHBOMUtRTO FtC.TORLli’RLRS 

2188 FÓR 1 = 1 V0<’tí TEP2‘ If TXl 1, 1 > ‘;;j-'20R.TX<; 1 + 1.. 2>-!:>2THERI = 10 
2198 REXTl‘ÍFI=12THER1580 
2288 RÉM GÉP ITt'ERT 


O 

O 

O 

O 

O 

O 

O 

o 

o 

o 

o 

o 

o 


o 


o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 




27 


március 







PÁLYÁZAT 




o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

n 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


2210 PR 1HT P*TflB C 25 > " ö '■P HVERT ! “ = GOTO 100 

3000 I.R----1 •FORl = lT0B-REn VHH-E B JflTER.OSHHK LEPESE? 

3010 Í.R=0-IR 

3020 bi=.j:-;<; i , i > = r 2 =.j:';< i, 2 > ^« 3 =rti ■ fl 4 =B 2 

3030 B 3 =B 3 +IP.- 04 = 04+1 = IFTMt.BB, 04 > = lORTr';<. 03 , 04 >= 2 THEH 3030 

3040 lFT-;<,03 / 04 ;> =3THEH I =20 ’ 00X03060 

3050 IFIR=1THEH3010 

3060 HEXTI4ÍETURH 

4000 X0=1:V0=1:1R=1 

4010 POK.E53252/24»X0 ■ POKE53253- 50+<.8-V0;'*24 ^ PŰRE501?0, 13+IR 

4020 P 0 K.E 5326 S, 4 

40:30 OETQ*^ 1F0»=“ " 1 Ht.H40:.30 

4040 IFQS'=“ ‘'THEHIR=0-1R 43OTO4010 

4050 IH Qí'= " »«■• rHENX0=:><0+1 

4060 IFQÍ="H"THEHX0=X0-1 

4070 I FÖÍ-= " '."l" rHEHY0=V0+1 

40 S 0 1 F 0 - 4 = T HEH Y 0 =Y 0 - 1 

4082 ÍF'X 8 ;> 8 THEH:>í 0=8 

4084 IF X0-!: 1 THEHX0= 1 

4086 IFV0-:. 1 THEHV0=1 

4088 IFY 0 > 8 THEHV 0=8 

4090 I FG‘Í-=C,HP.?- < 13 ;> THEH4120 

4100 GOTO 4010 

4120 F0R1 = 1T08 '■ IF-IXG 1, 1 ;‘=X00Hü.j:-;<; 1,2>=V0THEHI = 15+1 
41:30 NEXX I ■ IF 1=S'THEH4010 
4140 X1=X0‘V1=V0 

4150 X1 =X 1 + 1R ■ X' 1 = V1 +1 ^ I FTX C X1, V1 > = 1 ŐRT:-; C X1, V1 > =2THEH4150 

4160 ift:-í<;xi ,vi>=0 theh4010 

4170 RE f'URH 

5000 RÉM GR.0F1K.US ELOtf.ESZI VÉS 

5010 POKE56576, PEEKC56576 :'0HO252OR0 ^ REH C000-FFF'F 
5020 POtí;E53272, PEEH.>:;53272>0HO240OR2 RÉM H.0R0H.X . M. 0800 
50:30 POt!.E53272,PEEtc.<.53272;‘0HU15QR0 = REM KEPERHVO M. 0000 
5040 POKE648, 192 : PRIHTCHRsf-CS> ; "71" 

5050 RÉM ^í0RRt;.TER^;:E^32LET BERLL. 

5068 POKE56334 , PEEKC56:334;-RHD254 '• POKEl , PEEKC 1 >0HD251 
5070 FOR1=0TO64*8■POKE51200+I,PEt:KC53248+I> ^ HEXT 


5880 

5090 

5100 

5110 

5115 

5120 

51:30 

5140 

5150 

5168 

5170 

5180 

5190 

5200 

5210 

5220 

5230 

5240 

5250 

5260 

5270 

5280 

5290 

5:300 

5303 

5306 


POK.E 1, PEEIC C 1 > OR4 ^ POH.E56:3:34, PEEK C 56:334 > OR1 

FÓR 1=0X08* 16-1 -REHÜ-J •■POKE51712+1 ,.I ■ NEXX -RÉM KRRRKTEREK 

P OR 1=0X 04*64-1 ’ R£0ü..f: POKE50176+ 1, -J •• HEXT ‘ RÉM SPRIX EOtC 

POKE53280,15^ P0Ke53281, 15 ’ PR IH í “ a" ; ' P0ICE53282,7 = POF.E5:328:3,8 

POKE53270,PEEKC5:3270>OR16^POKE53286,15^P0KE53288,0:P0KE53276,1=REM SZÍNEK 

O0T0 85,85,85,85,87,95,95,95 

O0T0 85,85,85,255,255,255,243,192 

DRTR 85,85,85,85,213,245,245,243 

DRT0 127,127,124,124,127,127,127,127 

O0TR 192,3,63,255,255,255,255,255 

DRTR 253,253,25:3, 253,253,253, 253, 253 

O0TR 95,95,95,87,85,85,85,85 

ORX'0 255,255,255, 255,255, 86,85,85 

O0X 0 245,249,258,234,178,168,85,85 

ORl’R 50,122,200,252, 204,204,284,8 

DRX'R 250, 194, 192,240,192, 192,248,0 

O0X“0 8, 106,98, 102, 102, 102,60,0 

00 X0 2, 122,200,204,204,204,120,0 

00X0 102,0,60,102,102,102,60,0 

O0T0 102,0,102,102,102,102,60,0 

□0T0 255,255,255,255,255,255,255,255 

00X0 0,0,0,0,0,0,0,0,0,0,170,0,2,170,128,10,170,160,10,174,168,10,191,168 
O0T0 42, 191,168,42,254, 168,4:3,234, 168,43, 178, 168,42, 1'70, 168,42, 178, 168 
O0XF(42,170,168,42,170,168,18,178,160,10,178,160,10,170,168,2,170,128,8,178 
O0TR0,0,255,0,0,255,8,8,248,8,0,248,8,8,220,8,8,286,8,8,199,8,0,195,128,8,1 
ORT0192,0,0,192,0 


53 10 DRT00,0,0,0,8,0,8,0,0,0,0 , 0,0 , 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 , 0,0 , 0,0 
5320 U0X'00,0,0,0,0,0,0,15, 240,8,6:3,252,8,127,254,8,63,252,8,15,248,8,0,8,0,0,8,0 
53:30 DRX 00,0,0,0,8,0,8,0,0,8,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
5:370 O0TR 0,0,0,255,0,8,255,0,8,15,8,0,31,0,0,59,0,8,115,0,8,227,8,1,195,8,.3,128 
5:375 DRTR 8,3,8 

5388 ŐRT 00,0,0,0,0,0,0,0,8,0,0,8,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
5500 POKE50168, 16 • POKE50169, 18 ■ F'OKE53289,8 ^ RÉM SPRITE MUT0TOK. 

5510 Plí'="-^ 1 " ■ P2a-="^~" : p:34-="-l I" : REX URH 

6000 P0KE54296, 15 : P0KE54277, 113 ^ POKE542-7S, 124 ■ P0KE5427:3, 13 ■ P0KE54272, 172 
6010 P0KE54276,129^RETURFP RÉM HRHGHRTRS 
60S;0 POKE54276, 128:R.ET0R.H 

60:30 FM:iKE54296, 15 = POKE54277, 113 = P0KE54278, 124 ’ F'OKE542'73,8 ■ P0KE54272, 172 


O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


o 


MÁRCIUS 


28 








PÁLYÁZAT 



o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


6640 POKE5427'6, 125:RETURH = REt'1 HfiK6HfiTRS 
8000 V0=S‘--V0 ; V1='3~V1-RÉM LÉPÉS JrtTEKOS 

8010 P0KE!5324€f, X0 í* 24 ■ P'0KE53243,50+ (. V0-1 > *24 ■ POKE53287,2 ■ RÉM SPRI TE tf.OORÜ 
8020 POKe53250/X0*24+10:POKe.53251,65+<70-1>*24 

3030 P0KE53263.3‘PRIHT“íííT!" ; ' lFV0<>lTHEHFORI = nOÍ <.V0- 1 >*3> ‘PRIHT = HEXT 
8035 PR l HT TftB C C. X0-1 > * 3 > " T J IT ’RBilBin" TT " 

8040 FORI=1TOV0-Y1^eOSUB6000 

8050 FÓRJ = i T024 ^ P0KE53248, PEEK. C 53248 >+< X1 -X0 > /FiBS< X1 --X0 > 

8060 POtí:E53249, PEEK. C 53249 > -1 

8070 POKE53250, PEEt:. C 53250 > + C X1 -XO > /FtBS C X l - X0 > 

8080 lFJ<7rHEi'tSl 10 

8090 IF.J> 18THEHP0KE53251, PEEK < 53251 >-1 
8100 POKE53251, PEEK. C 53251 > -1 
8110 HEXT.l GOSUej6020 ■ HEXTI 

8115 PRIHT“?«S“ ; : 1FY1-C>1THEHF0RI = 1T0<;<.'.V1-1 >*3> ■ PRÍHT ' HEXT 

8120 PRIHTTftB<;<:Xl-l>*3>":T' ;P 1«0 " í*«m" ; P2Í-; ;P34- íPOKE53269,0^RETURN 

9000 Y0=9-V0'-Y1-9-VI-P^EM LÉPÉS OEP 

9010 P0K.E53248 / X0*24 ' PŰK.ES3249,50+ CV0-- 1 >*24 ‘ P0K;E53287 / 6 •• RÉM SPRITE KOORO 
9020 POKE53250 / X0*24+10 ■ P0K,E53251 / 65+ C Y0-1 >*24 

9030 P0KE53269/3-PRIHT‘'iPín" ; ■ IFV0<> 1 THEHFORI = lTO<<Y0“ 1 >*3> ’PRIHT’HEXT 
9035 PR IHT TFlB < C X0-1 > *3 > “'. TT f W«««r T T MBIir TV" 

9040 FÓR I. = 1TOS' 1 - Y0 ^ 0080660.30 

9050 F 0R.J=1T024 ■■ P0K-.E53248 / PEEK. < 53248 > + X1-X0 > /HBS C X1 -X0 > 

9060 P0KE53249,PEEK C 53249 H1 

9070 POK.E53250. PEEK. (. 53250 > + C X1 -X0 > XfiBS C X1 - X0 > 

9080 I F.j-c:.7THE09110 

9090 tF.Í>18THEHPOKE53251. PEEK.<53251 >+l 
910O P0K;E5325 1 , PEEK C 53251 > +1 
9110 MEXT..! ! eOSUB6020 ' NEXT1 

9115 PRIHT"«;3" ' FORI = l 10<. Yl-2 ;‘*3 ' PRIHT = HEXT ’ PR INT "W" ; 

9120 PRlHTTRBt;<:Xl-l ;‘*3;>Pl-‘r.; , P2í.; " Wl«m" ; P3ir. ■ P0KE53269 < 0 ■ Y1=9-Y1 ' RETURH 

9500 RÉM LEPESOEMERhTOR 

9510 FH=BX<'.Flí 1> ■fi2=Br'í<;Fl ,2> ■■Fl3=Fll = FI4=H2 = F XOJ, 0> =0 ^ RÉM FXCOy 0>=LEPESSZRM 
955;0 fl3=fl3+ I.R : R4--R4-1 > f.F TXCRS/ H4> = 10RT:-;<;R3, B4>=2THEI'tFr-i<:0, O>=Fr<;<;0,0>+1 : GOTO9520 

95:30 ift:-:<;r:3 , r4> =0themf:-;<. 0,0 > =0 ■ returm 

9540 I. FTXC R.3. R4 > =3THEHFX C.0,0 > ^FX (. 0,0 > +1 

9550 IF F0<20RLS<8TFIENRETURM 

9555 IP FX<:0,0>í:FX<.0, 1 >themf-.eturn 

9560 REM2.F0K02RT 

SSS'O BX <; F1, 1 > =R3 ■ BX í F1,2 > =R4 

9600 TT.=T:3Í.0-0RI = 1T08^X=BX<:1/ 1> ^Y=ex<1.2> =K.= <:Y-1>*8+X 

9610 TÍ-.=LEFT*'.<;TÍ3K;-1>+CHR.Í.<;48+1>+RIGHTÍ<TÍ/64-K> =H£XTI :REM VIZSGRLRHOO FILLRS»TÍ 


o 

o 

o 

o 

o 

o 

o 


o 


o 

o 

ü 

o 

o 

o 

o 

o 


o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


9620 

9630 

9640 

9650 

9660 

9670 

9680 

9690 

9700 

9710 

9720 

9790 

9800 

9810 

9820 

9830 

9840 

9850 

9860 

9870 

9880 

9890 

9900 

9950 

9960 

91970 

RERÜY, 


BX<;F 1. 1 > =R 1 ■■ BXCF1,2> =R2 

Fl6=8'GOSUB9800.IFEX<8><1THEH9790íREM R 8. CELMEZOT MÉM ERI EL FIGURfl! 

86=1 1 003089800 ^ IFEXC. 1 ><:2THEM9790 
Fl6=7 ^ GOSOB9880 ■■ IF EX'Í 7 X3THEN9790 
86=4 tGOSOB9800 =IFEXC4><1THEH9790 

86=3 1 OOSOB9800 ^ R5=8SCCM10*<. TT-, 1, 1 > > = R6=RSC'.'.MIOíCrS., :3. l > > 

IF <. R5<>48HMOR6 !;> 48 > RMDEX < 3 > -CaTHEHSZ 90 
l F <: F‘i5<>48RMüR6=48 > 8MÜEX í 3 > <31HEN9790 
IF <;85=488HDR6< > 48 > RMDEX C 3 > <3THEM9790 
IF <. R5=48RMüR6=48 > RMDEX 3 > <4THEM9790 
REFORM 

fx<0,0>=0^retorn.kem mem myero lépés! 

EX<.fl6>=0iX=86iY=l+8BS<;R6/2=IMT<;86/2;‘> • PIEM 86 CELMEZO K'.OOROIMRTb'i 
FORI=0TO3’X1=Xi Y1=Y+1*2'.GŰSOB9950'MEXTI'RÉM 8 CELMEZO MÖGÖTTI MEZOK. VIZSG. 
IFX=1THEM9880 

8 CELMEZOrOL B8LR8 LEVŐ MEZOK. 


FORI=lTOX-líREM 
IF Y+ I>8THt:M9S70 

FOR.J=1 VOIMT< C. <;9-<: Y+ !>> + !>/2> ’ RÉM X 
X1=X-1 Yl=.í*2+ 1-1 GOSOB9950 > MEXI.J 
MEXTI ^ lFX=8"t'HEMRErUR.M 
FÓR I = 1T08-X 1 RfclM CtO-MEZOTOL .JOBBRR 
F OR..f = 1TOI NT < <; C. 9- <. Y+ 1 > > +1 > /2 > 

X1 = I+X 1 Y1=.J*2+ I-l 1 GOSOB9950 ■ MEXT.J , 
K.= <.Y1-1 >*8+Xl 1 85=RSC«:MID»<T5F,K./ 1 > > 
í FR5:::>0THEMEX C 86 > =EX C R6 > +1 
RETORM 


OSZLOPB8M LEVŐ MEZOK. 


I1RETORM 
-48 


O 

O 

O 

o 

o 

o 

o 

o 


29 - 




MÁRCIUS 













PÁLYÁZAT 




Beszorító^ (DO-GUTI) 


A játék szabályai 

A Beszorítós egy kétszemélyes, 
táblás játék. A játék eredeti neve a hin¬ 
duk ősi nyelvén egyszerűen párjátékot 
jelent. Lényege az ellenfél mozgásának 
megakadályozása. Mindkét játékosnak 
2 bábuja van. 

A tábla: 



— Az egyik játékos a bábuit a 
négyzet két alsó sarkába, a másik a két 
felső, vonallal nem összekötött sarkába 
helyezi. (Az aszimmetria ellenére a kiin¬ 
duló helyzet nem kedvez egyik játékos¬ 
nak sem.) 

- A bábuk a vonalak mentén tol- 
hatók át az egyik szomszédos mezőre. 
Bármelyik bábuval lehet kezdeni a 
játszmát. Az a játékos győz, aki ellenfe¬ 
lét beszorítja, vagyis megakadályozza a 
további lépéseit. 

— Megjegyezzük, hogy két, egy¬ 
mással szimmetrikus helyzet létezik, 
amelyben bábuinkkal az ellenfél két bᬠ
buját beszoríthatjuk. 

— A győzelem tévesztésen alapul, 
azaz ha két jó játékos elég figyelmesen 
játszik, a végtelenségig tologathatják a 
bábukat (ez az eset ebben a program¬ 
ban akkor fordulhat elő, ha a nehézségi 
fokozat kettes (azaz nehéz, és a játékos 
a segítség opció szerint teszi meg lé¬ 
péseit). 


A program kezelése 

A program betöltése lemezről: 
LOAD „BESZORÍTÓS'',8. Indítása: 
RUN paranccsal. 

Először a nehézségi fokozatot (1 — 
könnyű, 2 — nehéz) kell megadni, majd 
a kezdés jogát (1 — játékos, 2 — gép). 
Ezután láthatóvá válik a tábla a bábuk¬ 
kal, a menürész és egy nyíl, amit a 2. 
portba dugott joystickkai mozgat¬ 
hatunk. 

A lépés következőképpen történik: 

Vigyük a nyilat valamelyik saját bᬠ
bunkra (□ alakú), és nyomjuk meg a 
tűzgombot. Erre a bábu arra a helyre 
kerül, ahol eddig az üres mező volt. 

Ezután automatikusan a gép lép. 


majd ismét mozgathatjuk a nyilat egé¬ 
szen addig, amíg valamelyik fél meg 
nem nyeri a játékot. Ekkora program ki¬ 
írja, hogy nyertünk vagy vesztettünk-e 
és leáll. LJjabb játszmához egyszerűen 
gépeljük be a RUN parancsot. 


A menürész 

Három menüpont áll rendelkezés¬ 
re, amit úgy aktiválhatunk, ahogy a lé¬ 
pést (tűzgomb megnyomása az adott 
szónál). 

— Vége menüpont: A játék befe¬ 
jezése. Vigyázat, az állás örökre elvész! 
Újraindítás lehetséges a RUN parancs¬ 
csal. 

— SEGÍTSÉG menüpont: Aktivi¬ 
zálása után az egyik bábunk villogni 
kezd. Ez a program által javasolt bábu 
a következő lépéshez, amelyet meglép¬ 
ve nem veszthetjük el a játékot. 

— A JÁTÉKRÓL menüpont: Egy 
rövid ismertetőt ad a játékról és a szabᬠ
lyokról. A tűzgombbal vagy egy tetsző¬ 
leges billentyű lenyomásával térhetünk 
vissza a játékba. 


A stratégia 

A gép stratégiáját a nehézségi fo¬ 
kozat befolyásolja. Könnyű fokozatban 
a gép véletlenszerűen választja ki a 
megfelelő bábut, így könnyű megven¬ 
ni. 

Az öt mezőt megszámoztam 1-től 
5-ig a következőképpen: 



A gép a nyeréshez a következő lo¬ 
gikát használja: 

Mivel a játékban csak egy üres 
mező (továbbiakban: luk) létezik, csak 
azt kell meghatároznia, hogy melyik bᬠ
bujával lépjen a lukra. Az esetek több¬ 
ségében azonban nem is kell gondol¬ 
kodnia, ugyanis csak egy bábujával lép¬ 
het Ilyenkor. Ekkor megkeresi, melyik 
ez a bábu, és meglépi. 

Amikor két bábuval léphet, a gép¬ 
nek azzal kell lépnie, amelyikkel a követ¬ 
kező lépésben nem lesz beszorítható. 
Ezt úgy érheti el, ha elkerüli a két bábuja 


c* 


30 


egymás fölé kerülését. Ez a gyakorlat¬ 
ban azt jelenti, hogy nem azt a lépést 
lépi, amelyikkel a bábui az 1. és4., illet¬ 
ve a 2. és 5. pozícióba kerülnének. 
Ezenkívül akkor sem egészen mindegy, 
hogy mit lép, amikor első ránézésre 
mindegynek tűnik. Ugyanis előbbre 
hozhatjuk a nyerést, ha a bábuk a felső 
terület felé mozognak. így a gép akkor 
is számol, ha a luk a 3-as mezőre esik. 

Itt jegyzem meg, hogy a program 
a SEGÍTSÉG menüpont választásakor 
ugyanilyen módszer szerint számolja ki 
a megfelelő bábut a játékos számára. 

Nagyjából ennyit a stratégiáról. 
Bővebben a Részletes leírás megfelelő 
részében olvashatunk erről. 


Részletes programleírás 

A program leírásakor megpróbál¬ 
tam a strukturált programozás elveit kö¬ 
vetni (már amennyire ezt a 2.0-ás BA¬ 
SIC lehetővé teszi). így elkülöníthetők 
egyes szubrutinok (amiket GOSUB-bal 
hívnak meg) és igyekeztem kevés 
GOTO-t használni. 

A játék ciklusába (130 — 300. so¬ 
rok) az SZ (szerva) változó függvénye¬ 
ként lépünk be (játékos vagy gép lé¬ 
pése). 

A játékciklus a játékos lépésével 
kezdődik (a 130. sortól). Élőször beállít¬ 
juk (aktualizáljuk v. frissítjük) az E$() 
tömböt (2000), majd megállapítjuk, 
hogy melyik mezőn van a luk (3000). Az 
eredmény a LU változóba kerül. (Értéke 
1-től 5-ig mehet.) 

Ezután megnézzük, hogy a játékos 
melyik bábuja (esetleg mind a kettő) 
léphet egyáltalán (3200), és ha egyik 
sem (mindkét KIO értéke 0), kiírjuk, 
hogy vesztett, majd befejezzük a prog¬ 
ram futását (11000. sor). 

Ha léphet a játékos, tovább fut a 
program (140. sor). Meghívunk egy 
olyan szubrutint, amely a tűzgomb 
megnyomására tér vissza, egyébként 
meg a nyilat mozgatja a JOY-nak meg¬ 
felelően (2500). Ha benyomták a tűz¬ 
gombot, jön a következő szubrutin 
(5000). Ez előállít egy OB (object) nevű 
változót, aminek értéke 0-tól 8-ig ter¬ 
jedhet, és azt mutatja, hogy hol történt 
a tűzgomb lenyomása (vagyis hova mu¬ 
tatott a játékos): 

1—5 esetén az egyes mezők valame¬ 
lyikén, 

6 esetén a VÉGE menüponton, 

7 esetén a SEGÍTSÉG menü¬ 
ponton, 

8 esetén pedig az A JÁTÉKRÓL 
menüponton. 


MÁRCIUS 











PÁLYÁZ AT 


cy 


o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


1 
■2 

3 

4 

5 

6 

• 

löű 

13.Ö 

115 

128 

122 

124 

126 

12S< 

130 

134 

136 

138 

148 

145 

150 

155 

160 

165 

178 

175 

180 

IS'0 

132 

134 

196 

200 

210 

220 

230 

248 

245 

250 

255 

260 

265 

270 

275 

280 

290 

300 

399 

400 
410 
420 
430 
433 
440 
450 
460 
4 70 

480 

490 

500 

510 

989 

390 

394 

393 

1000 

1005 

1007 

1010 

1015 

1020 

1030 

1040 

1050 

1860 

1070 

1080 

1085 

1€19@ 


RÉM * BESZÓRITOS * 
RÉM * BV ftLEXHY PETER * 
RÉM # 1992.x.12. * 
RÉM * POR THE C= UJSPlÖ * 


GOS;Ü6 1000 
GOSUe 1500 
6ÜSUB 1660 
IFSZ=2THP:N200 


írem BEflLElTRSOK 
íREM THBLPl (íl 
íREM SPRITE-OR BE 
■RÉM 8ZERVR R ŰEPMEL 


!<! 


RÉM R .JRTEROS LEP 
RÉM 

GOSUB 2000 í G08UB 3080 

Jíí=".J" íGOSUB 3200 íREM KI LEPHET ? 

IFK í í 1 ;'=0RHDKI <2>=0THeMl 1000 
í PER # VESZTETT * 

GOSUB 2500 íP'EM VRRRS H FlRE~Rfl 

GOSUB 5000 íREM OB RISZRMOLaSR 

I.F Oe=0 THEN 140 

IF 0B>5 THEN 408 ^RÉM MEMURE MEHT 
IF E:J:<;06XO“.J" THEH 140 

IFKI c:2;>=í0THEHIFIÍ.5. C 1 > =OeTHEHHM=OB ■ HV=LU 
IFR.I <2>THeHHN~0B ' HV=LU •• GOTŰ180 
GOTO 140 

GO3UB4000 í RÉM LÉPÉS 


GOTO180 


RÉM 

RÉM 


GÉP .roH 


GI3SUB 

GOSUB' 

..)S-="G' 

GOSUB 


2000 

3000 


3200 


■ Re.M 
í RÉM 


FRISSIVÉS 
HÜL R LUK 


íREM MELVIK BHBUVRL 
r. FKI í 2 > =0 THEH IFK1 <’. 1 > --0THEM10008 
í REVS 4 R GÉP ELVESZTETTE 4 
IFK. J. <'.2>=0THEHHN=KI. C 1 > ^ GOTO2S0 
HN=0 

£V FÜ=2 THEH ..)5t-=''G" : GOSUB3400 
IF HM THEN-288 
ve=iht<:rnd<;i>42>'H 
HH=KI<:VE> 


HV=LU 

GOSUB 4008 
GOTO 130 


P'.EM 

RÉM 

P'.EM 


fi LUKRR 
LÉPÉS 
R -JRTEP.OS 


LEPUNH. 


■JÓM 


1FOB=6THEH21000 ^RÉM VEGE 

1FOB=7THEM440 .rém SEGIVSEG 

GOSUBS000 -RÉM R .,)RT£KRL'/L 

GOTO 140 íREM V1SS2R 

S=4íGOSUB7500 íREM INVERZ BE 

GOSUB2000 í GOSU8300O ^ RÉM FRISSI VÉS 
l P K1 <.2 ;■ =0 (HENHM=K 1 < 1• GOTO490 

ÍGOSUB3400 í RÉM GONDOLICÜZZ ! 
IFHM=0 l'HEMHH^KI (. IMTCRNOÍ 1 ;' 42;'+ 1 > 


V Í.LL06 VRTRS 

inverz ki 

V Í.SSZR 


Gosue7008 í rém 

S=4 í I3OSUBV'530 ’ RÉM 

GOTO140 íREM 

K'.EV! BERLL I VRSÜK 
F:EM 44HÍ44444.444 


V=5:3248 ^ P'.ESTORE 

DI. m; 3X <; 5 f, sY <; 5 >, XR (. 8 , xf v 8 ;■ / yr c s >, yp <; s >, ms <: s > 

OlMMíCS;' , £S»''.4;' 

POKE53280/ 0 í P0V:E5:3281,0 
POKE788,52 

PR 1 NT'' (kll" CHRí- <; 8 > CHRS-- C 142 > 

FÓR 1 = 1 rOS : RERDSX C 1 J / SV<. 1 > 

NEX r I 

0RTfi48.74.208,74,128,146,48,218,208,218 
F0R5. = 1T08 

í REftoxflc 1 ;■, XF <; i ;■, vrc i >, yf í i. ;■, ms<. i ;■ 

NEXT l 

DRTR:3;2,88,58, 106,0 
ORTR192,24>3, 58 , 106, O 



O 

O 

O 

O 

O 

O 

O 

o 

o 

o 

o 

o 

O 

O 

O 

O 

O 

O 

O 

O 

o 

o 

o 

o 


A többi helyre való mutatáskor az 
OB értéke 0 lesz. Ezután OB kiértékelé¬ 
se folyik. 

Először azt vizsgáljuk meg, hogy 0 
volt-e. Ha igen, visszaugrunk a várako¬ 
zási részre (140). 

Ha OB értéke nagyobb 5-nél (tehát 
menüpont), akkor a vezérlést átadjuk a 
400-as sornak (lásd a következő be¬ 
kezdést!) 

Ezután már biztos, hogy egy me¬ 
zőre mutatott a játékos. Megnézzük, 
hogy azon a mezőn, ahová mutatott, az 
ő bábuja van-e (160. sor). Ha nem, 
visszaugrunk a várakozási részre. Most 
már tudjuk, hogy a játékos valamelyik 
saját bábujára mutatott. A 4000. sortól 
kezdődő ,,LÉPÉS" szubrutin két pa¬ 
ramétert vár. Az egyik (HN, azaz hon¬ 
nan) az, hogy melyik mezőről (1 — 5), a 
másik (HV, azaz hová) pedig az, hogy 
melyik mezőre mozgassa a megfelelő 
bábut. 

Ha a játékos egyetlen lehetséges 
lépését tette meg, így HN az OB értékét 
veszi fel, HV pedig természetesen LU 
(azaz a luk) értékét (165. sor). Ugyanez 
a helyzet, ha a játékos két lépése közül 
választott (170. sor). Ha csak egy bábu¬ 
val léphetett, de a másikra mutatott, 
visszaugrunk a várakozásra (mivel ezzel 
nem tud lépni). Ezután már minden 
kész a lépéshez, tehát ez következik 
(4000). Ezzel a játékossal foglalkozó 
részt befejeztük. 

A 200. sortól kezdődik a GÉP Lɬ 
PÉSE rész. Ez ugyanúgy kezdődik, 
ahogyan a JÁTÉKOS LÉPÉSE rész kez¬ 
dődött (E$() frissítése; LU meghatáro¬ 
zása; KI (1) és KI (2) meghatározása, 
majd ezek ellenőrzése. 

Ezután megnézzük, hogy egy 
vagy két lehetőségünk van-e a lépésre 
(250. sor). Ha csak egy, úgy HN az első 
lehetőség, KI (1) értékét veszi fel. Ha két 
eset van, úgy a fokozat szerint véletlen¬ 
szerűen vagy gondolkozással előállít¬ 
juk, hogy melyik bábuval lépjünk. 

Ha nehéz fokozatra van beállítva, a 
program meghívja a MIVEL LÉPJÜNK 
szubrutint (3400). Ez a rutin beállítja 
HN értékét a megfelelő mezőre; vagy 
0-át ad vissza, ha mindegy, hogy me¬ 
lyikkel lépjünk. Ez esetben az RND 
függvény segítségével választjuk ki,' 
hogy KI (1) vagy KI (2) legyen-e a meg¬ 
lépendő bábu. 

Ha készen van HN értéke, HV föl¬ 
veszi LU értékét (a lukra lépünk), és 
meghívódik a LÉPÉS rutin (4000). Ez¬ 
után visszaugrunk a játékciklus elejére. 

A 400-tól 510-ig terjedő rész a me¬ 
nüpontokkal foglalkozik: 

— ,,VÉGE'' esetén a 21000. sorra ug- 


31 


MÁRCIUS 












PÁLYÁZAT 


runk, ami elköszön és befejezi a 
programot. 

- „SEGÍTSÉG" esetén a „MIVEL 
LÉPJÜNK" szubrutin segítségével az 
előzőekhez hasonlatos módon kivᬠ
lasztunk egy mezőt (a HN ben), majd 
meghívjuk a VILLOGTATÁS szubrutint 
(GOSUB 7000), és végül visszaugrunk 
a várakozási részre (GOTO 140). 

— A maradék esetben (ez csak az ,,A 
JÁTÉKRÓL" lehet) egy szubrutin segít¬ 
ségével (8000) kiírjuk a magyarázat szö¬ 
veget és várunk a tűzgombra (vagy egy 
billentyűre), majd visszaugrunk a 
140-es sorra. 

Ennyit a föprogramról, és most kö¬ 
vetkezzen néhány szubrutin leírása 
részletesebben. 


Frissítés (2000 - 2080) 

Bemenő paraméterek: -; ki¬ 

menőparaméterek: E$(1—5). Ez a fon¬ 
tos és gyakran használt szubrutin a táb¬ 
lán szereplő bábukat leíró E$() tömböt 
tölti fel ,,J" vagy ,,G" értékkel. Ezt a 
SPRITE-ok, azaz az egyes bábuk min¬ 
denkori helyzetéből állapítja meg. Az 
SX (1 — 5) és az SY (1 — 5) nevű kons¬ 
tans tömbökben az egyes mezőkhöz 
tartozó SPRITE-koordináták értéke 
szerepel. 

Az ES$ (1—4) menü konstans 
tömb elemei rendre: ,,G", ,,G", ,,J", 
,,J"; azt mutatják, hogy egy bizonyos 
sorszámú SPRITE melyik fél bábuját je¬ 
lenti. (A 0-ás sprite a Nyíl, az 1 — 2. 
sprite-ok a gép bábui, a 3—4. pedig a 
játékos bábui). 

Az E${) tömb egyik helyére nem 
kerül adat; itt az első sorban (2000.) el¬ 
végzett ,,0'-val való feltöltés eredmé¬ 
nyeképpen ,,0" fog állni (azaz itt van a 
luk). 


Luk meghatározása 
(3000-3040) 

Bemenő paraméterek: E$ (1 — 5); 
kimenő paraméterek: LU. 


Ki mehet a lukra (3200— 3290) 

Bemenő adatok: J$, LU, E$(); ki¬ 
menő adatok: KI (1 — 2). Ezt a szubru¬ 
tint talán lépésgenerátornak is hívhat¬ 
nánk, ugyanis megmondja, hogy egy 
adott fél mely bábui léphetnek a követ¬ 
kező lépésben. Ezeket a lehetséges lé¬ 
péseket a KI (1 — 2) változókban kapjuk 
meg (mező-értékekben, azaz 1 — 5 ér- 

f S MÁRCIUS -32 


o 


o 


o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


10V5 OnTH112, 16S, 130, 1.?8,0 
í i. 00 Df11 ftOa, öö, 20.Z, 250,0 
1105 ÜfTt l-l 1V2, .i40 / 202,250,0 
111.0 OfiTf iS , 40,66, ?4, i. 

1115 ORTnö,72,02,30,1 
1120 DfiTft8,S8,SS,106,1 

I 130 F OR1 ” 1 ■r05 ■ R£FiDt'W < I > : NtlFV í 
1140 00 1034,35 , i:í:45, 135,234 

1150 1 oR 1=11'04: REFiütős: <■ 1 ■;< • Ne.:>n' i 
1160 Dili ftó, 0, , .1 
1165 ^ 

1170 f'i:)K,fc.l3, 1 : INPUT "LJORÜZBT <:i-2;' = " ; f-O ■ POKE IS, 0 INT 

II 75 IF'; FOO 1 :■ RNÜ <: FO- 21THFN1170 

1130 1 HF'UT" k: 1 i!:e,::.u r 1 =j o ren.u'i,, > "; sz 

1 185 IF (.S.201 ;'HiTÜ(.SJ:c>2>THFN1 180 
11 SS : 

1 .;:00 F UF: 1 ™tí.32'l 08S4 

1210 • RERDFi ■ fOlCE 1, Fi ^ r(E;=7f 1 

1215 ■ 

1220 Rlit'1 3F'l -2 ; 13. BLOKK 

l;225 REI'I 

1230 Ol-lTFie ,16,0,0,56,0,0,56,0 
1235 ORTFI0, 124,0,0 , 124.. 0,0, :Z54,0 
1240 DFrrFI0,255,0,1,255, 0 , 1 ,255 , 123 
1245 0HVR3,255,128,7,255,182,7,255,224. 

1250 00X015,255,224, 15,255,240, 31,255, .5:40 
12:::>s DFl rnsi , 255 , 243 , 63 , 255 , 252 , 63 , 255 , 252 
1260 ÚFTI 8127,2513,254 , 127,2155, 254,2:55,255,255 
1265 REí'! most .ÍON Fi 14. BLiJIOi., SP3-4. 

1267 PE11 

1270 FOF:!.=836TOS:58 
1280 ^P0l;ei,:255DtEXTl 
12S0 FOK1=704X0736 
1300 ■ PEFlDR ■ P0t!.e 1 , Fi ^ HEXT I 
1:305 '. 

1310 F:E.M :iP0 11. BLOKK 
1:320 RÉM 


o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


13:30 

13:35 

1340 

1345 

13:50 

i:360 

1370 

1492 

14S3 

14 . 9:5 

14S9 
1500 

1:305 

1510 

1 : 51:3 

1528 

1:325 

1527 
15:30 
15:35 
1 540 

1:545 

1:550 

1555 
1:368 
1565 
1570 
1575 
1580 
153:5 
15S0 
1595 
1600 
1605 
1610 

1619 

1620 
1625 
1630 
1635 
1640 


□FlTft2:34,0,0, 252,0,0 
0RTFI252,0,0,254,8,0 
ÜMTFU43,123,0,7,192,0 
ORTFI1, 192,0,0 , 128,0 
FÓR1=737X0766 
■POK£l,0MrEXTr 
REIURN 

RÉM rBBLaRR.)'ZOLM:-i 


48,0,0 
, 0,0 
3,224,0 


T1:í: = " >- 
T3í=‘' 
l'5.í = '‘ !• 
S5í|:=" 

364.= " 

T8sr.= ".. 

:.H*.=;í4:T* 15 


íT6.4= :T7* = "/''' 

":S134'.= " 

'':S44-='‘ 

— -" • T9s-.= " I "+S5S:+T:3ít:-t Sl:39 + T:54:H 

4 t-S64+ V54: + S:3s:4 154+364+tSit 
PR INI'' " ;r 14 ; 31 ::i.4 ; T 14 
PR1HTT9:4 ■ PRtHTrSil.' PR U'R'T94 PR1NTT34 
PRINT" ";T44;3134;r4# 

PRINT:344; V3:í, " “ , V64, " " , T74, " 

Tb-T., 344; 1 64 ; " " ; T7it:, 344 ; 'i :34 

T54, S54; |■64, " " ; 174; 354, T54 


PR1HT-S44, 
PRrHTS4-it, 

PR ÍN 1 . 344 ; T. 54 , 

PRtNTU14 : 


364; I 14;S64; T:34 
PR 1N' r 01:4 : PR í N r 01.4 ■. PR I NT 01 4 
PR Í.NTS.H 4 ; T:í4 , . 364 -; T24,364; T54 
PF: 1 H'f'34:4 , T54 ; 354 , T 74,364; " " ; r64, s:34; v;34 
r'RtNTS44;. T 54 ; 344 ; T74; 36-4, " , 'r64 ; 344 ; T:54 

PRINTS 44 : T54, " ";r7:* ," " ; T64, “ 

PRlífT•' " ; T34, :31 :.94; T:34 
PRlNrr94:Píí;i;Nn94 

PRlNt.; t:54, 3 : 54 , '■ f ; T34; ; S54; T54 

PRtNTTSíir. 

PRlNt.; T24; Sl:34, T24; 

PR INT "SÍ 

PRi:NTTRBr:30O , " , 

PR 1 NT t RB CSF) ;■ ; " VEOE " 

PRtNrt «e(..30;‘;" 

l•■■R 1N !■ t RB <: :301 " SEG IT 3Ei3 •' 


O 

O 

o 

o 

o 

S:54+T54 

o 

,T5:4 Q 

O 

O 

o 

O 

o 
o 


; T5:4 











PÁLYÁZAT 


tékkel). Ha csak egy bábuval lehetsé¬ 
ges a lépés, akkora KI (2) értéke0 lesz; 
ha egyáltalán nem léphet az illető fél 
(azaz beszorították), akkor mind a két 
változó 0 lesz. Az M$ (1 — 5) nevű, vál¬ 
tozó hosszúságú elemekből álló kons¬ 
tans tömbben azt tartjuk nyilván, hogy 
egy adott mezőre mely mezőkről lép¬ 
hetnek bábuk. A kérdéses mezőt az In¬ 
dexben adjuk meg, és értékként egy 
olyan sztringet kapunk, amely számok¬ 
ból áll. Például, ha a luk a 2-es mezőn 
van, akkor ugyebár a 3-as és az 5-ös 
mezőkről léphetünk rá. Ennek megfele¬ 
lően M$ (2) értéke ,,35". Ha pedig a 
3-as, középső mezőre esik a luk, akkor 
M$ (3) értéke = ,,1245", ugyanis ide 
bármely mezőről léphetünk. A rutinnak 
egy fontos jelzőkaraktert kell még átad¬ 
ni: J$-t. Ez azt jelzi, hogy melyik fél bᬠ
bui a kérdésesek. így J$-t a rutin hívása 
előtt tel kell tölteni ,,J" vagy ,,G" érték¬ 
kel. Ezáltal elértük, hogy ezt a rutint 
mindkét fél használhassa. 


Mivel lépjünk (3400- 3510) 

Bemenő adatok: LU, J$, E$ij; ki¬ 
menő adat; HN. 

Ez a rutin tartalmazza a játék áltál 
alkalmazott stratégiát. Feladata: egy 
megadott luk-állás esetére meghatᬠ
rozza, hogy mely mezőről érdemes lép¬ 
ni. A választott mező'számot (1 — 5) a 
HN nevű változóba rakja. Ez a rutin lé¬ 
nyegében csupa IF-THEN-ből áll. A J$ 
paraméter itt azt jelenti, hogy melyik fél 
a kérdéses. 

A legjobb lépést a luk (LU) 1, 2, 4 
és 5 értékénél nem nehéz meghatároz¬ 
ni. Csak arra kell figyelni, hogy ne kelet¬ 
kezzen olyan helyzet, ahol a két bábu 
függőlegesen egymás fölött áll. Tehát 
pl. ha a luk az 1. mezőre esik, akkor a 
két lehetséges lépés (4. és 3. mező) kö¬ 
zül csak a 4. jó, mivel ha ezt lépjük, ak¬ 
kor az eddig 4-esen álló bábu kerül az 
1. mezőre és az 1 — 3. mezők nem füg¬ 
gőlegesek. 

Akkor bonyolultabb a helyzet, ha a 
luk a 3. mezőre, azaz középre esik. 
Ilyenkor két állást kell meggondolni: Ha 
az egyik bábu a másik fölött van, akkor 
ez a nyerés előtti utolsó állás, ugyanis 
a felsőt betolva középre a másik játékos 
nem tud lépni. 

A másik meggondolandó állás, ha 
a két bábu egymással ellentétes olda¬ 
lon helyezkedik el, azaz az 1. és 5., illet¬ 
ve a 2. és 4. mezőket foglalja le. Ekkor 
az alsóval érdemes lépni, mert így meg¬ 
nő az esély a nyerésre. Ugyanis, ha az 
alsót feltoljuk középre, akkora másik já- 



Í.645 

PRlHTTfit)<:3€);';, , 


o 

Í650 

PRlNTTftBf.30.'; "R ..JR ÍEK.H'.OL" 

O 


■ 1&53 

Rfc..'VURU 


o 

1655 

fi'.EM SPR 1 TE-i;)K. BEKRPC.80L.RSrt 

O 


165 r’ 

R E.1 1 4 i* iH i* i* W W ^ »i* ;<( 


o 

1.658 

1660 

P0Ke:.v-i-6, sxt.4 ;■ ^ pokev+ 7, 8v<.4 ;■ 

O 


1665 

PÜKEV+S , 8:>í(:5> ■■ PÜKLV+9 , SVCS^ 


o 

1670 

POKEV+16,0 

o 

16 <"0 

P0KEV-f33 . 1 POKEV-t.40,5 ^ P01.E.V-+41,5 


1680 

P0i:.EV-^42,6 ^ PÜKe;V-i43,6 


o 

1685 

POKE.Z040, 11 ;POK£2041 , Í3.PŰKE2042, 13 

o 

1690 

POKE2043,14^ POK.E2044 ,14 


1635 

PDKEV/ 120 4-'OKEV-t 1 , 100 


D 

i;'00 

P0KEV-t 2, SXC 1 > ■ POKEV-P3. SYC 1 > 

o 


1705 

pOK.ev+4, s:>< <: 2 > pokev+s , sv <: 2 > 


1710 

POK.EV+6, SX<,4> ■ POKEV-t 7 , SV<4> 


o 

1715 

POK£V-^S , s^cs;* ■ POKEV+9, SY<.5> 

o - 

1720 

POKE.V-121.31 : RÉM BEK.ftPCSOLPlS 


1738 

RETUR'.rt 


o 

1390 

1394 

Rfin FRI>3S1TES 

o 


1996 

RÉM i«**i*H<4i*#* 


o 

1999 

2008 

PORI I .=1 ros ■ e:* c i =■■ 0 ^ hext i 

o 


2005 

FÜR.J = 1T05 


o 

2010 

■ FÓR l=V-+2TOV+ 10STEP2 

0 


2020 

^ = IFPEEKC i;-OSX<:.j ;‘THEM2060 



2030 

■ ■ IFFEEKC I-H -POSVÍ J ;• ! HEN2060 


o 

2040 

■ ^ E.f.C.l 'J-ES-f í. <: l-V>/2;' 

o 


2050 

■ ^GÚTO2070 


o 

2060 

^ NEXT í. 


2070 

HEXT.J 

o 


2080 

RETÜRN 


o 

2430 

2434 

RÉM .JOY-KEZELES 

o 


2496 

RÉM 


o 

2499 

2500 

;><R=ei -. Yft=0 

o 


2510 

R---PEEK.<:56320 > 


o 

2520 

IFCRRMO16 > =0THE:MRETURM 

o 

2530 

1F <: flftUDS > =0 THEMXrt=4 


2548 

1 ; F <: RRHD4 > ==0THeM:>;rt=- 4 


o 

2550 

IF <: firtUDZ > =0THEMVR=4 

o 

2568 

IFíRRMOl > =0rHENYR=-4 


2570 

lFXrt=-4THEUzeso 


o 

2580 

01 ==PEe;K.<; V ;-K»!rt ^ .j-e==0 

o 


2590 

IFO1 ■064THEH2618 


2600 

IP CPEEK.C V-H6:'RHD1 >THEN2740 


o 

2610 

1P01>255THEM.:)E™1 ^ 01=01--256 

o 


2620 

PuKEJV.Ol 


2630 

IF..TEO1THEH2740 


o 

2640 

D2=PEEK <: V+ 16 :• RNO1 

o 


2650 

02=1“ÓZ 


o 

2660 

P^^KEV-^ 16, PEEK C V+16 ;■ rtND2540R02 


2670 

GOTÜ2740 

o 


2680 

D:3=PEEK f. V ;• +;>■;« ■ .1 E=0 



2690 

IF03-O24'm£M2710 


o 

2700 

I F C PEEK <: V+ 1 6 > RMO1 ;> =0THEH2740 

o 


2710 

1FO3 !:.0THEN.JE.= 1 ’ 03=03+256 


o 

2720 

Pűt;:EV, 03 


2730 

IF..rETt-lErt2640 

o 


2740 

04=PEEK.<;V+1> + VR 


o 

2750 

POKEV+1,04 

o 

2760 

lFO4.;>48TrtEH2780 


27'70 

POKEV+1 , 50 


o 

2780 

IFD4C230THEN2800 

o 

2790 

POKEV+1,228 


2600 

I3OTO2500 


o 

2390 

2994 

RÉM LÜK MEOHrtTRROZrtSrt 

o 


2996 

RÉM 


o 

2999 

-3000 

F0RI=1T05 

o 


3010 

IF£Í.<. l > = "0" mEM3030 


0 

3020 

NEXT í 

o 


3030 

LO=I 



3040 

RETORH 


o 



o 







PÁLYÁZAT 


Cf 

tékos a bent lévő bábujával ráléphet az 
imént keletkezett üres helyre, s így már 
el is vesztette a játszmát. 

Programtechnikailag a legegysze¬ 
rűbb módon, egymás utáni IF-ekkel va¬ 
lósul meg a HN megkeresése. 

A gyorsabb működés érdekében 
az AND logikai kapcsolat helyett egy 
sorban történő IF...THEN IF...TFIEN... 
utasításokat alkalmaztam. (Például: 
IF E$ (1) = J$ THEN IF E$ (4) = J$ 
THEN HN = 1.) 

Végül még annyit, hogy mint az 
iménti példán is látszik, ez a rutin is füg¬ 
getlen a játszó féltől. A SEGÍTSÉG op¬ 
ció ugyanis ugyanezt a rutint használja 
a megfelelő bábu megkeresésére. Ilyen¬ 
kor elég csak J$ értékét ,,J'Ve állítani 
és meghívni a rutint. 


A bábu mozgatása 
(4000 - 4080) 

Bemenő adatok: HN, HV. Kimenő 
adat: nincs. 

A rutin egy bábut tol el egyik hely¬ 
ről a másikra. A HN mutatja, hogy hon¬ 
nan (1-5), a HV pedig, hogy hová tolja 
a bábu sprite-ot. A sprite-koordinátákat 
az SXO és SYO konstans tömbökből 
veszi, majd a megfelelő sprite-koordi- 
nátával egyszerűen felülírja a régit, ezál¬ 
tal a bábu az új helyre kerül, helyén meg 
luk támad. Ezért van szükség ezután 
még a tábla ,,frissítésére", ugyanis ez a 
rutin az E$() tömbhöz nem nyúl. 


Mire mutatott? (Object lOB] 
előállítása) (5000 - 5130) 

Be —; ki: OB. 

Erről a rutinról már volt szó a játék¬ 
ciklus elemzésekor. Még annyit, hogy 
az XA (1-8), XF (1-8), YA (1-8), YF 
(1-8) és MS (1—8) tömbkonstansok 
SPRITE-koordinátát jelölnek. Azt mu¬ 
tatják, hogy az indexben megadott ób- 
jektum (mező, ill. menüszöveg) mint 
ablak milyen koordinátákkal bír. 

Egy négyzet két átellenes pontjᬠ
nak koordinátáiról ésa SPRITE legfelső 
(MSB) bitjének állásáról van szó. E 
négyzeten belüli tűzgomb lenyomást a 
program az adott objektumra való rá- 
mutatásként értelmezi. 

Azt hiszem, a többi rutin nem igé¬ 
nyel különösebb magyarázatot, s az 
előzőek és a programlista alapján meg¬ 
érthető. 


Alexay Péter 




o 

31 S>0 
3134 

RÉM Rí. í'lEHEr t'H LUH.S'H ? 

0 


3136 


o 

o 

3139 

3200 

x= 1 ■ KI r 1 ;< ■•-.0 ■. ti. i <: 2 =8 


o 

3218 

rí1:=hí'.<;lu;' 

o 

3220 

fl=LEHC0S:' 


3230 

FÓR1=1TOR 


o 

3248 

^Bí—MlOS-CrtS., I , 1> 

o 

3260 

:c*=e:4<;vrl<:bs.;'> 


3278 

■ Í.FC:í=.JÍ.THENK.H,:<;'=VrtLr.Bír> ■ X=X> 1 


o 

3280 


O 

3230 

RETorín 


o 

3330 

3334 

RÉM MIVEL LEP.JUMtí ? 

O 

3396 

3333 

RÉM * ■;* .* 4í * 4 : * * 

O 


o 

3480 

1FLIJ=1 Í'HEMHN=4 : OŰTO3510 

.3419 

ÍFLU=2TMEMHM=5 ^ GOTO3510 



3420 

lFLIJ=3THeH3460 

O 

o 

3439 

Fl=LIJ-3 


3440 

1F íi» <. fi ;■ =.J4 THE.MHM=H ' 80 'l'Ü3518 



34S0 

Hl't=0 ’ Ö0T0.3518 

O 

o 

3468 

ÍFEÍ-Íl >=.,r.ir.THE141F£*<.4:'=.J4 ! HEI4HN.- l '.130X03510 


3470 

IFEÍ f. 1 ;■ =.;arTHE:N'íFES-<.5'l=.l !t THEMHW=5 > GOT03519 


o 

3480 

IFEí (:2 > =.r.irTHEM IFE#C5>=.:i:rTHEHHN-=2 M30T03510 

O 

3430 

IFES^ (. 2 > -J *'r HEN Í fXlí. C 4 > =.l t.THErrf!M=4 ’ 00T03518 


3500 

HN'=0 


o 

3510 

3330 

REXURM 

O 


3334 

RÉM BMBÜ MÚZORTRSR 


o 

3396 

3933 

RÉM *^***^i¥*^*i*m** 

O 


4090 

FOR.Í =V'4-;2 1 OV'4- 188TEP2 


o 

4010 

, IfrpEEKC 1 ><>S;>;<:Hri;‘THEM4058 

O 

4020 

: IFPEELC 1'4' l ;‘''.:.>SYC.HfO XnEM4050 



■SK=Í-V 


o 

4040 

' 6O Í O406,8 

O 


4050 

trE:>íí I 



4069 

POKEV"i-SK,SX<.HV:' 


o 

487’0 

POKEV-i 1 -^8K - SV <; HV ;■ 

O 

4088 

4930 

R.ET0RN 

0 


o 

4332 

r-iEM MIlíE MUTRTOTX '? 


4994 

RÉM .•■oe.JECT <:oe> elorllítrsr/ 



4336 

REÍ1 rit tit i* ♦ 4 4 4^444444 4 44444 


o 

4393 

5000 

:4=peEK<:v> ■ v=peek.<;V'» i ;■ 

o 


5010 

M-S=PEEK. <: V+ 16r-lHO l 

0 

o 

5020 

0Pi=8 


5030 

F0RÍ. = 1T08 



5040 

^ iFX'!:XR';:i:'THEN5ii0 

o 

o 

5050 

■ i:fx>xf<: i >thehsi 10 


5060 

■ n-V';'.vB(:i:'THEN5ii0 


o 

5070 

■ I.FV>VF<: i ;-THEM5110 

o 

5088 

■■ IP MS'OMSf. 1 > i'HEH5110 


5890 

836=1 


o 

5100 

’ R.EXORN 

0 

5110 

MEl'lT t 


5120 

Of3=8 


o 

5130 

h'.CTURM 

o 

5999 

6390 

RÉM OEÖKSEO 



ü 

6992 

RÉM 

o 

6399 

7000 

FORl=V'K>TOV >• i88 f EP2 



o 

7818 

^ trpEEivC 1 >'C:>sx<:rh;' THEhí'050 

o 

7020 

^ tPPEEKC 1 ■H 1 C.;>SS't:r'iN;'XHEN7050 



7839 

:SK=<:i-v;'/2 

o 

o 

7048 

■ GOl'O 7068 

7’050 

t'iEXt 1 



7060 

fi=2 'tor:. 

o 

o 

7070 

R1=255”R 

7088 

l-üp; .j'rt=L ro 4 



7830 

^ FOR(;í= 1TO1 P!0 ^ MEXTO 


o 

? 1 m 

^ F'Ot:.£V'+ 21 , PEEl;. < V -i- 21 :■ RMOR1 

c 


7110 

: fop:o=ixoi 00 ■ Mt;xxí.i 



7129 

^ poireV'í 21, PEEK. < V4 21 ;■ orr 

o 

o 

7130 

he:>ít ..ír 


7140 

R.£rURM 



o 


34 


MÁRCIUS 






PÁLYÁZAT 




o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


<’4Ba 
<’4Stó 
74í;>'d 
<’499 
7500 
■75 3.0 
75.20 
7522 
7525 
7527 

7529 

7530 
7540 
7550 
7560 
7990 
7932 
7395 
7339 
Ö000 
8003 
8005 
801.0 
80.30 
8040 
8050 
8060 
8070 
8080 
8030 
83.00 
8110 
8120 
8130 
8140 
8150 
8160 
8170 
8180 
8190 
8200 
8210 
8220 
8230 
8240 
8250 


}l:eM MEHU82űV6i3 IHVLEEKt. 

f I3R1 •- 1024+40i*8+30 101024+40JH8+33 
■ POKEl , PEEtiC 1 > UK 128 ^ MEXT 1 
RETUKN 

REtl MENU820VE8 V13SZH 

f ORI = 1024+40i«S+30TO 1024+40^8+39 
:R0KEI,PEEtí:7i;<-128 
MEX'l 1 
RETURH 

RÉM 8 ..ím EtsiROL 
RÉM 

8=6 ■■i3ÜSUB7500 -RÉM SOR. INVERZRE 

FORI = 1TÜ100 ^NEX'f 1 

ROEEV+21,0 Ni'EM SPRIIE-IJK KI 

RRINT'XT' 

RRINI " a ..íRTEKR.OL ■ 

RR.INl' 

PRlHÍ"rt .laVEtc, EREDETI NEVE COG-GÜV1 ;■ t-l HINDUK.'' 
PR IN T" US I NYELVEN EGYSZERŰEN PHR..)'ftTEK;OT " 

PR INT'".JELENT, lényégé RZ ELLENFEL MOZUHSRNRK" 

PR 1. N T " MEURKHURLYOZFISH . M INUKET .ÍRT EKSSNRK " 
PR.INT" KEI 8RBU..)R VRN, " 

PR INT 

RRlNl" 8,2FlBHLYŰK. ■" 

PR.INT 

PR.INT"R BrtBÜK fi VONHLRK. MENTEN TOLNRTOK ITV" 
PRINT"RZ EOYÍK; SZOMSZÉDOS MEZŐRE." 
PRINT"eRRHELVlK BfiBUVfil... LEHET KEZDENI" 

RRlNT"fi .IRTSZMftT.RZ R ..HTTEKOS GYŐZ ,ftKI" 

PR I NT " ellenfele i- BESZÓR. I V-Jfi , Vfiú'.' 1S MEijHK.fi 
PR.1NT"0RI...V07;ZR R T0VH8BI LÉPÉSÉIT ." 

PR INT 

PR.l.NT"fi TRBLR fiSZlMMETRIfiJR ELLENER.E" 

PRINf'R K.IINOULO HELYZET NEM KEDVEZ EGVÍtí" 

PR INT" .JfiTEKOSNRK. SEM." 

PR INT 

PR INT" fi PROOP.HMOT IR.Tfi ■ " 

PRINT" RLEXRY PETtlR , 1992. X. 12--EN. " 


O 

O 


O 


O 


'RÉM ■!■fieLH KIRH.JZ. 
'RÉM SPRITE-OK BE 


8500 POK.E1S>8.0 
8510 GETTí- 

8520 IFT-TO" "'VHEN8550 

8530 IFi.PEEKC 56:320;' RND 16;'=0THEN8550 Q 
8540 ÖOrO8510 
8558 GOSUB1500 
O 8560 POk;EV+21,:31 
8900 RETURN 
9399 ' 

O 10000 F OR I =0T ü:300 ' NEXTI 
10010 PR I NT " na»-(VER. ( EL > W" 

10020 POK'.EV+21, Ö PÜKE 788,49' EHO 
O 10999 ' 

11000 FÜR í ~m' 0300'NEXT1 
11010 F'RÍNT":'WESZT£TT£LI " 

U 11028 POKiEV+a 1,0' P0KE788,43 ' ENO 
20'399 ' 

^ 21000 S=2'GOSUB7508 

21010 FOR1'=0TO200'NEXT1 
21020 POKEV+21,O'P0KE788,49 
p, 210:30 PR1NT";;>I VlS20NTLfiTflSR.fi ! 

^ 21040 END 
21399 ' 


o 


o 


o 


o 


o 


o 


■■PRINT 


o 


REftDV. 

o 
o 
o 
o 


Colour Magic 


Ebben a programban a 
RUN parancs kiadása után 
varázslatos színek tárulnak 
elénk. 


O 


O 


o 


o 


100 RÉM *i*HK*4i:'K*He****:#*i*.+:i****!Hí*»*#i***if 
110 RÉM ■* COLOUR MAG IC C-64* 

120 RÉM :■!«,, * 

130 RÉM ♦ KE;5ZITETTE' BRUCE MAESTRO ♦ 

140 RÉM *##******H!Hf:(f*i'K.'^******:**i****** 

150 ' 

160 POKE 53280,0 ' FOKÉ 53281,0' PRIHT " rj" 

170 KP= 10;24 ' KC'=55304 

180 FÓR I=KP TO KF+1800'POKE 1,160'NEXT 
185 PRI NTTflB 14 > "" 

:l. 36 PRI NTTREi<36;■ " TT t 1 lTIT;TTT TT Wi;i!.WIMI=:i;iffi^^ 

198 FÓR W'=0 TO 50 

200 FÓR I'=e TO 12 

210 FÓR .1=0 TO 12 

220 K=I+.J 

230 C0"= INT <; ..T*5.-' I +3 +112> 

240 POKE KC+I+K*40,CO=POKE KC+K+I*40,CO 
250 POKE KC+24--1 ■+ <24--K;■ i*40.. CO ' POKE KC+24“K+ C 24-1 ;■ *48, 
260 POKE KC+K+(:24“i;'''lí40,CO'POKE KC+24-I4K.*40, CO 
270 POKE KC-i-1 + ■C 24-K>*48, CO ' POKE. KC+24-K+1 '♦48, CO 
280 NEXT 
290 GOTO190 


CO 


O 

o 

■o 

o 

o 

o 

o 

o 


35 


MÁRCIUS 


o 



















PÁLYÁZAT 


Cr 


Zsírozás 


A ,,Zsírozás V 1.3" nevű játékprog¬ 
ram az azonos nevű gyermek-kártya¬ 
játék mikroszámítógépes változata 
Commodore 64-es számítógépre. A 
programban a számítógép egyfajta 
játék-stratégiát valósít meg. 

A játékot egy személy játszhatja a 
számítógéppel. A játékszabályok egy¬ 
szerűek. A 32 lapos magyar kártya 
összekevert paklijából négy-négy lapot 
kell kiosztani. A játékot kezdő játékos 
egy lapot játszik ki. A kijátszott kártya 
azonos rangú lappal vagy hetessel üt¬ 
hető, egyébként a kijátszott, asztalon 
fekvő lapokat a kijátszó viszi el. Ha a ki¬ 
játszott lapot az ellenfél azonos rangú 
kártyával (pl. alsót alsóval, ászt ásszal 
stb.) vagy hetessel megütötte, az aszta¬ 
lon lévő lapok szintén azonos rangú lap¬ 
pal vagy hetessel tovább üthetők. Az 
asztalról csak páros számú lapot lehet 
elvinni. A következő kijátszás joga azé, 
aki az asztalon lévő lapokat (az ütést) 
hazavitte. 

A játék célja az, hogy az ütések¬ 
ben minél több tízes és ász (zsír) le¬ 
gyen. Egy-egy elvitt zsír 10 pontot ér. 
Ha a nyertes 40...70 pontot gyűjtött 
össze, 1 mérkőzéspontot kap. Kétszere¬ 
sen számít a győzelem, ha a nyertes 80 
pontot ért el, de a vesztes - akit ilyen¬ 
kor ,,kopasznak" neveznek — legalább 
egy, bármilyen ütést hazavitt. Három¬ 
szoros a nyerés értéke, ha a vesztes 
egyetlen ütéssel sem rendelkezik, azaz 
,,csupasz" lett. ■ 

A játék során a kártyalapok színét 
(tök, zöld, makk és piros) nem kell fi¬ 
gyelembe venni, így csak a lapfajták — 
a hetes (7), a nyolcas (8), a kilences (9), 
a tízes (10), az alsó (A), a felső (F), a ki¬ 
rály (K) és az ász (ÁS) — játszanak lé¬ 
nyegi szerepet a játékban és a stratégia 
kialakításában is. Hála az egyszerű sza¬ 
bályoknak, a kártyajáték viszonylag 
könnyen algoritmizálható és a stratégiai 
egyszerűsítésekkel akár 16K tárkapaci¬ 
tású gépen is megvalósítható. 

A gép a bejelentkezést követően a 
(SPACE) billentyű lenyomására a játék- 
szabályokat ismerteti dióhéjban. Min¬ 
den más gomb lenyomásával a játék 
kezdődhet meg. A gép leosztja a lapo¬ 
kat a képernyőre, a bal oldalra a saját 
lapjait fonákjukkal felfelé, a jobb oldalra 
a játékos lapjait, látható módon. A játé¬ 
kos a kiválasztott lapot a lap mellett fel¬ 
tüntetett billentyűjel — a (Q), a (W), az 
(E), illetve az (R) — szerinti billentyű 
megnyomásával játszhatja ki. A kiját¬ 


szott lapok a képernyő közepén jelen¬ 
nek meg, a kijátszás sorrendjében sor¬ 
számozva. A pakliból, a talonból még ki 
nem játszott lapok számát a legfelső 
képernyősor közepén megjelenő szám 
láló műfaja. A játékban elért pontokat 
a kártyamezők alatti számlálók számol¬ 
ják. Egy-egy lejátszott partit követően 
szöveges értékelés következik, majd 
bármely nyomógomb lenyomására új 
parti játszható mindaddig, amíg a gé¬ 
pet ki nem kapcsoljuk. A játékot hang- 
effektusok és egyszerű zene színesítik. 

Programáttekintés 

A játékprogram három, egymástól 
fizikailag iselkülönülőalprogramból áll. 
Magát a játékot a , ,C" alprogram tartal¬ 
mazza. Az ,,A" és ,,B" alprogramok 
előkészítő feladatokat látnak el. A játé¬ 
kot az ,,A" alprogram behívásával és 
futtatásával lehet elindítani. 

Az ,,A" és a ,,B" alprogramokban 
alkalmazott programozási fogások (ér¬ 
dekesebb POKE-ok, önműködő prog¬ 
rambehívás, karaktergenerátor — akár 
kibővítve vagy átalakítva is) más BASIC 
programokban is felhasználhatók. 


A ,,C" alprogram 

Mielőtt a vezérlés a játék gerincét 
képző programsorokra kerülne, az al¬ 
program a fentebb már vázolt módon 
ismételten ellenőrzi a BASIC-munka- 
terület átkapcsolását. Ha ezt rendben 
lévőnek találja, elvégzi a játékhoz szük¬ 
séges további előkészítéseket (a tömb¬ 
kő dimenzionálásait, a képernyőkép ki¬ 
alakításához szükséges X és Y változók 
beállítását, a hanggenerátor beállítását 
stb.) és az elsőnek bejelentkező képer¬ 
nyőképet előállító rutinra adja a vezér¬ 
lést. A bejelentkezést követően jut a ve¬ 
zérlés az 1000...1400 sorokban látható 
vezérlő részbe. 

A kártyajátékban felmerülő külön¬ 
böző részfeladatok végrehajtására — a 
moduláris programozás elveit követve 
— különböző egymástól jól elkülönülő 
rutinokat készítettem. Ezeket a szüksé¬ 
ges sorrendben a vezérlő rész hívja 
meg. 

A játék rutinjai a következő felada¬ 
tokat látják el: 

10000 - BEVEZETÉS 

A rutin feltölti a kártyapaklit mo¬ 


dellező P (32) tömböt T tői 32-ig terjedő 
számokkal és képernyőre írja a Q-W-E- 
R szimbólumokat. 

11000 - LAPOSZTÁS 

A rutin a P (32) tömbből véletlen¬ 
szerűen válogatva kiosztja a lapokat a 
gép és a játékos számára is. A stratégiai 
döntésekhez szükséges szinten a lapok 
a G1 (4) és a KI (4) tömbökbe kerülnek. 
A képernyőn való megjelenítéshez 
szükséges adatokat a G2$ (41 és a K2$ 
(4) tömbök tartalmazzák. Az 1...32-ig 
terjedő számokból a két szintnek meg¬ 
felelő átkódolást 30000 sorszár mái kez¬ 
dődő rutin végzi el. 

A laposztás rutinja felrajzolja a 
képernyőre a kiosztott lapokat szimboli¬ 
záló ábrákat és a talonban maradt lapok 
számlálóját is. 

12000 - KÉZI LAP KIJÁTSZÁSA 

A rutin a Q-W-E-R billentyűk vala¬ 
melyikének lenyomásával kiválasztott 
lap kijátszásáról, a KI (0) változóba he¬ 
lyezéséről gondoskodik. Egyúttal a la¬ 
pot szimbolizáló ábrát törli a képernyő 
jobb oldaláról. 

A rutin renonsz — téves kijátszás 
— elleni védelmet is tartalmaz. A ,,to¬ 
vább ütés" játékhelyzetben ugyanis 
csak az asztalon lévő legalsó lapfajta 
vagy az adut képviselő hetes kijátszása 
szabályszerű. A védelem megakadᬠ
lyozza másfajta lap kijátszását. 

13000 - KÖZÉPMEZÖ RAJZO¬ 
LÁS 

A rutin az asztalra kijátszott lapot 
jeleníti meg a képernyő középrészén. 

14000 - A GÉP ÉRTÉKES LAPJAI 

A rutin feladata a gép stratégiájᬠ
ban a jelentős, értékes lapok számbavé¬ 
tele. A HE változó a hetesek, a TZ a tí¬ 
zesek, az AS az ászok számát tárolja. 

15000 - A GÉP VÁLASZA ÉR¬ 
TÉKTÉLEN LAPRA 

A rutin a gép stratégiáját tartal¬ 
mazza arra az esetre, ha az ellenfél ér¬ 
téktelen lapot, vagy esetleg hetest'ját¬ 
szott ki. 

16000 - A GÉP VÁLASZA ÉRTÉ- 
KÉS LAPRA 

A rutin a gép stratégiáját arra az 
esetre tartalmazza, amikor az ellenfél tí¬ 
zest vagy ászt játszott ki. 

17000 - A GÉPI LAP KIJÁTSZÁ¬ 
SA AZ ,,A" TÖMBBE 

A rutin feladata a gép által kiját¬ 
szott lap elhelyezése az asztalt jelképe¬ 
ző A(8) tömbbe és a kijátszott lapot 
szimbolizáló ábra törlése a képernyő bal 
oldaláról. 

18000 - KÉZ VISZI 

A rutin feladata a játékos által el¬ 
ütött lapok közül az értékesek számba¬ 
vétele, az asztal A(8) tömbjének és a 






PÁLYÁZAT 


Cf 


képernyőn megjelenő ábrájának törlé¬ 
se. A rutin az ütésért járó pontokat a jᬠ
tékos lapjai alatt tünteti fel. 

19000 - GÉP VISZI 
A rutin feladata lényegében az elő¬ 
zővel azonos, avval a különbséggel, 
hogy a szükséges műveleteket a gép ál¬ 
tal elütött lapokra végzi el. 

20000 - tovAbbütés vizs¬ 
gálata 

A rutin ,,kibic''ként működik, an¬ 
nak érdekében, hogy az emberi tévedés 
lehetőségét kiszűrje. Előbb megjeleníti 
a ,,Tovább üti (i/n)?" kérdést, majd 
megfelelő válasz esetén gondoskodik a 
szöveg törléséről. Téves válasz esetén a 
,,Sajnos önnek nincs ütőlapja!'' üze¬ 
nettel utal a hibás ütés! szándékra. 
21000 - GÉPI KEZDÉS 
Amennyiben a kijátszott lapokat a 
gép ütötte, vagy a partit a gép nyerte 
meg, a következő, illetve a kezdő kiját¬ 
szásjoga őt illeti. Ez a rutin a gép straté¬ 
giája erre az esetre. 

22000 - SZABAD VÁLASZTÁS 
A ,,szabad választás" játékhelyze¬ 
tében a gépnek csak akkor kell lapot ki¬ 
játszania, ha meg tudja ütni az ellenfél 
által korábban kijátszott lapot. A gép 
csak akkor üti tovább a kijátszotta kát, 
ha van ugyanolyan lapja, illetve ha a ki¬ 
játszott lap értékes, akkor is továbbüti. 


ha hetessel rendelkezik. A rutin ezt a 
feltétel vizsgálatot végzi el. 

23000 - PARTI ÉRTÉKELÉS 

A játszma végeztével ez a rutin ér¬ 
tékeli ki a partit és az eredménynek 
megfelelő szövegváltozatot írja ki. A ru 
tinból a vezérlés az 55000 sorban kez¬ 
dődő zenei rutinba kerül át. 

30000 - lapAtkódolás 

Korábban már volt arról szó, hogy 
a stratégiában a lapok színe figyelmen 
kívül hagyható, ugyanakkor a képer¬ 
nyőn való megjelenítésben ez is fon¬ 
tos. A rutin ezt a kétfajta átkódolást 
végzi el. A P(32) tömbből kiosztott 
1...32 számból előállítja a stratégiai 
döntésekhez szükséges értékeket (he¬ 
tes = 1...ász = 8) valamint a képer¬ 
nyőn való megjelenítéshez a színt jelké¬ 
pező karakterrel (tök = [, zöld = font, 
makk = I, piros = felnyíl) együtt a lap 
szimbólumát (7,8, 9, 10, A, F, K és bai- 
ranyíl = ász). 

40000 - CRSR POZICIONÁLÁS 

A képernyő különböző pontjainak 
eléréséhez a képernyőkép kialakításᬠ
hoz szükséges cursor pozicionáló ru¬ 
tin. (A rutin a POKE781,X:POKE782, 
Y:SYS65520 gépi kódú rutinnal helyet¬ 
tesíthető.) 

50000 - KÖSZÖNTŐ 

Két képernyőképet tartalmazó ru¬ 


tin. A játék legelején bejelentkező szö¬ 
veget és szükség szerint a játékszabᬠ
lyokat írja föl a képernyőre. A S$ (24) 
tömbben elhelyezett szövegeket az 
54000 sortól kezdődő kiírató rutin író- 
gépszerűen jeleníti meg. 

A rutinból a vezérlés szintén az 
55000 sorban kezdődő zenei rutinba ke¬ 
rül át. 

55000 - ZENE 

A rutin a kísérőzenét állítja elő. 

A hangjegyeket és a megszólalási 
idő arányszámait az 56000 sortól kezdő¬ 
dő adatlista tartalmazza. 

A játék V 1.1 verzióját a Texas In¬ 
struments TI99/4R típusú gépere, v 1.2 
változatát a HT 1080Z típusú gépére ké¬ 
szítettem. A C64-re adaptált változat 
magán viseli az elődök által meghatáro¬ 
zott programszerkesztési követelmé¬ 
nyek nyomait. A program ezért nem te¬ 
kinthető különösebben optimalizált- 
nak, ez azonban nem jelenti a játékszín¬ 
vonal lényeges romlását, (jgy hiszem, 
nemcsak az elektronikus zsugaasztal 
mellett lehet eltölteni kellemes perce¬ 
ket, de a program esetleges optimalizᬠ
lásával is, illetve — kihasználva a 
C64-esnek az említett elődöknél na¬ 
gyobb tárkapacitását - a gép stratégi¬ 
ájának további erősítésével is lehetne 
kísérletezni. 


O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 




f L ^€0 # I Hri it-'H.-i '••'1,.^ (f 

RM 3 kfri * * 

XM 4 r<(-ri !*■: M * 

RM 9 hfri « 

PF P Ppri * I l:-.i ; .4pvi i tHF8 ' * 

gk 7 KpM * S'-ríí FVIP's * 

hf-/ 0 * * 


TE t ő 

Cl'. Idő ►■•Ff'! “ FI iii.'tiS.Zf ITI 0 I KhF'CFiOI tiSDN. 

Ű'H IIfi hpinI r 1 4?:■ 

FH I2fi i-riK'Fő3?Z2 ■ 21 ■ PFí'l = B M. l. ENrvi.JZF'f HTkhPCBOI HS 

Ki I ^nuFF.-SZ.. 128: • wFII = áll i..fNi VIIZFT RrKMPC.S0I..RS LEMLrHt: 

h,k; 14ii 

P.S ISO 2Pfi: • K-Eri = I, IST LFIlt TrtS 

xn IFO KririF000.225: : RFfl = RIIH/STOP + RfSTORE I.ft ILl'HS 

riC I POKFR I 9 ■ 24F ■ • RFM = SRVE lETILiaS 

XQ I 00 

.«,M 190 PiXF:S32)-i 0 . f-: P0KES.3281 ■ 8: REfl =• KERET ES t'lEZO SZÍNE 




HP 200 : 

FFi .1100 FR .1 ti 1 I I 144.).; CHK#c: 1,9 >.; •'>f SPC] I NO “ 

310 PORI 10)000; NEXT' 

EQ 320 P0KF.S32F.8 • PEEKt 83268? HNI.)239; REN = KEFERNVO L.EKRPCSOLfTS 

RH 340 F0kF44.)g: EiiKE43.1i PÜKE4096.. 0: CL.R: REf'1 “ BRSJC TERŰI. E't HTKR 

PCSni.RSR 

EC’ 340 

.4E: 400 h'EM - KOVFTKEZO PROORRM HIVRSR 


QB 4Ifi R* o:"B" 

TP 420 PR INT r:HR«a.4'f':) ; 

NX 4.;;0 PRJNT'I..|THD" CHRí<34>Rít; CHR*O4)'08" 
PR 440 PR IN I'" 1 liOUN J I' DOWN ] f! DOUH J T JJOWM 3RUN 
gH 4.150 POKEt98,4 
OX 4E.0 POKEESt.. 1.9 

se 4 ,-'0 pnKE6.?2.13; P0KE633.13; Pf3KE634.13 
XX 400 


O 

O 

O 

O 

O 

O 

O 

O 

O 

o 

o 

o 

o 


37 


O 


ÁRCIÜS 







PÁLYÁZAT 



o 

V.8 

1 PEM *Á*lt!i**j*l*A*:!***'*i>lii****i)íX|i|(***i(!Wi***!4!#i*i 

O 


í;:h 

2 RÉM *' ZSl.ROZHS * 


o 

MM 

3 RÉM ♦ •* 

O 


Ijl f 

RÉM !* B * 



iK'i 

R RÉM * * 


o 

í-'i.: 

fi RÉM * l iSTi ).-1i34?30 LINES ' * 

O 


HX 

? RE 

M * "SE.I.L 2634 BVTES if- 




S RÉM (* « 


Q 


9 RE 


O 


TE 

1 0 1 




pl? 

1ÍSHP 

RÉM - .BHStr: 1 ERI.II...E1 EI..LENORZESE 


D 

CE 

1.010 

ÍF PEEKi:44> < >16 r'HENQ -l 



Cd 

1 020 

1F PEFKÍ43) < >1 THENQ *1 


Q 

r:r*l 

1,030 

).P PEEK'. 4096> < >0 T HENQ =<1 

o 


l'B 

< 0rt0 

!FQ =0 THEN2010 



BH 

1 0S0 

pnkffi4fi.. 0 


o 

TQ 

t 0ft0 

pnt<;F5:3:?90,2: pnKE.5:32E'i.1 > 2 

o 


OP 

lt?í’0 

PR 1 NT CHR*< 147> ; CHRÍ <19);'' ?LOHD t SEC J [SPC JERROR" 



BH 

1 £’S0 

PR INT 


o 

XP 

1090 

PR T NT " ) T URH i: SPC J T HE I SPC ] COMPUTER 16PC 3 OFF C SPC 3 HND t SPC 3 ON t SPC .3 H 

o 




GHJN,. " 


o 

PB 

.1. 1 00 

PR.1 NT " )LOPJJr:SPC 3 THE t SPC 3F^ROŰRHMME l SPC3UHICH[ SPC3 16CSPC3CHLLEJJ 

o 




tSPCTTH)," 



KS 

1M.0 

P0KE12Í1.. 2i : RÉM » KILLER POKE 


o 

KF 

11,20 

ENII 

o 


XH 

11 :W 




MP 

2:000 

PEM - KHRHKTFROENERHTOR 


o 

XS 

2010 

RÉM —- PHRHMETEREZES 

o 


MH 

2020 

JilMlHH) 



XP 

2030 

r:R =.53248 RÉM » KHRHKTER ROM KEZDŐCÍM 


o 

OQ 

2040 

Cl.) e2049: 1 : RÉM “ KRRHKTER RRM KEZDŐCÍM 

o 


GX 

20^0 

CT ^281Si ■■ ■■ ■■ RÉM »• KHRHKTER HTHELVEZQ KHRHKTER <8HIFT+SPHCE) 





kezdőcíme 

o 


Fim 

2060 

R0KE53272.. 18 


EC 

2070 



o 

EO 

.3PÍI00 

RÉM — HSCTI <» POKE HTK0D0L.0 

o 


EK: 

301,0 

pnpj «=0 TO/i REPDDÍI): NEXTI 



PH 

3020 

DH't H 1 26 .. 032,000.064.191,. 096 . 064 , 096 


o 

XP 

4000 

RÉM — KHRHKTER ROM MHSOLHS H RHMBH 

o 


9G 

4010 

R0KE56:í34 , 0 : POKE 1.51 



MH 

4020 

FÜRI *0 TO2047 3TEPÖ12 


o 

KP 

4030 

: IFI «=1024 thEHP «255 

u 


BC 

4040 

! PORT «0 T0511 STEP8 


Q 

i5R 

4050 

; priRK «0 T07 

o 


BX 

4060 

1 : : POKECU +I +..1 +K. PEEKÍCR +J. +J +K> 



CG 

4070 

: NEXTK 


o 

CE 

4090 

1 NEXT.J 

o 


MM 

4090 

NEXTI 



se 

41.00 

P =.0 


o 

co 

41 10 

FORT =512 T01536 8TEP 1.024 

0 ' 


H.J 

4120 

: IFI =.1536 THENP »25.5 



ex 

4130 

: POKECW +I +8,P 

r\ 

CJ 

SR 

4140 

: FQR.T .8 T021.6 



BE 

4150 

: 1 POKECU +I +J. PEEK<CR +I +J) 


o 

OP 

4160 

: NEXTJ 

o 


XB 

4170 

NEXTI 



OB 

4100 

POKE1.55 : P0KE56334.1 


0 

PD 

5000 

RÉM — KHRHKTER BEHELVEZE8 

o 


OX 

50.10 

REHDH 



KCf 

50I20 

IFfl = -1 THEN6010 


o 

KF 

5030 

FOHI -0 T07 

o 


JjP 

5040 

: REHDB 


o 

OS 

5050 

■■ P0K6CT +T,B 


JF 

5060 

NEXTI 

G 


B6 

5070 

8H = INTfH .■••■32):SL “H -6H »!:32 


o 

PH 

5000 

P -CU +<rKSH) +SL) *8 

o 


PS 

5090 

FORÍ =0 T07 



JP 

5100 

: POKEP +1, PEEK < CT +1) 


o 

RP 

5110 

NEXTÍ 

O 


HC 

5120 

OOTO5010 



EC 

6000 

RÉM - KO'v'E-TKEZO PROGRHM HJ.'-/HSH 


o 

PQ 

6010 

Hí ="0" 

o 


JM 

6020 

PR INT CHRÍC 1473.1 


D 

OC 


PRTNT "L0HD" CHRst<34:)H* CHR*<34) " . 6" 

D 


ririi 

fifí4Ci 

PR 1 NT C TiQWN 31: DOWN 31.' DOWN 31DOUN 3 RÜN 



KG 

6050 

P0KE198.4 



MÁRCIUS 












mmurnKk 


PÁLYÁZAT 


o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


ŰQ 

6060 

CE 

6070 

MK 

6000 

PX 

1 0000 

GR 

10010 

KR 

1 0020 

EK’ 

10030 

RC 

1 0040 

BP 

10050 

RH 

10060 

DB 

100/0 

flP 

10000 

RR 

' 0090 

CM 

10100 

k:K 

101 10 

P3 

10120 

PS 

) 01 30 

HX 

1 01 ■(10 

.ŰC 

1 0 ’ 50 

X0 

10160 

,B3 

101/0 

ÉR 

10(00 

HM 

10190 

.BM 

10200 

3P 

10210 

RE 

10220 


10230 

RM 

I 0240 

RH 

10250 

DH 

10260 

FŰ 

102/0 

MK 

10230 

HX 

10290 

ŰF 

10300 

0M 

10310 

CM 

10320 

GH 

10330 

HF 

10340 

ED 

10350 

ŰX 

10360 

ex 

103/0 

BJ 

10390 

ü'R 

10390 

PX 

10400 

KK 

10410 

BO 

1 0420 

PX 

10430 

Oű 

10440 


^■■'0KE63.1.. 19 

P0Ke6.32.). 3: HnKE633,13: P0KE634,13 

RÉM - ÜJ KRR3KTEREK HDRTfl). 

ÜRTHRt ; RÉM * HSC; t 

OTIReií'4, 126,259,256,2515,000, 126,024 

):i«TR92: RÉM ■■ RSC £ 

iw r fi036,060,060,126,255,254,002,024 

);/0Tfl93: rém =« ftSC 3 

).iHT«024,060,060,060,060,126,024,012 

11RTR94; rém =« RSC t 

9RTR066,231,255,256,126,060,024,000 

rrRTR95: RÉM •= RSC -i- 

riRTR04e, 032,096,211,212,210,241,214 


IIHTR35; rém a RSC * 

DAT R012, 0Pje, 060, i02, 1,02.126, 102.000 

IjRTH36: RÉM = RSC í 

J)RTR0)2,000, 126, 112, 124,112, 126,000 

ŰRT637: RÉM » RSC X 

ŰRTR012,008,060,024,024,024,860,000 

ŰRTR38: RÉM «s RSC A 

ŰRTR01 a000, 060,102,102,102,060,000 

ŰR7R39: RÉM *■ RSC ' 

rtR7>1064,000.060,102, 102,102,060, 000 


)JRTR42: RÉM * RSC * 

ŰRTfi010,020,060,102,102,102,060,000 
1(81043: RÉM = R3C + 

,DR1 R012,000,102,102,102,102,060,000 


ÜRTR60: RÉM = RSC < 

.TJBTR054,000, 102, 102, 102, 102.(060,000 
ŰRTR61: RÉM = RSC “ 

ŰHTR010,020,000., 102, 102, 102,060,000 
ŰRTR62: RÉM = RSC > 

ŰRIR060,066,163,161,161,163,066,060 


rjRTR64; RÉM = RSC « 

ŰRTR030,096,111,096,111,096,030,000 
ŰRTR--1 


O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

ü 

O 

O 

O 





1 R 

J i't; rflii A. iC: ri: íV 

5> y*: ^ r*: /(t*; :4>; K ^ 

0 

;;sJ 

y' 


PO/hS 3 K 



J y- 

■.M 

i(*r 


►-'m; 

•4. ►«;' (''’l 


o 

:»r'' 






6 R 

>■ r-í 1 )• : 

'JMES ^ 

0 

XK 

.,(■1 

vf-Cf «!• .iccíi: 

* t*.;:r.P0 tV'* 1 

• (y 

yt‘\ A 

/•>' 




o 

TC 

i íjjil 




HM 

! '•’fi 

CHP#-' 1.(J.7' 


o 

H*. 

’ ■' 0 


PpMI..Pi ÉIJ..EN0R2FSE 


' 

n. ,jj.i , <: > 1 ,;, i hEHC =1 


.T(- 

■ 

! S- 1 c.; 

1 'HEWi:í =1 



' 

1 k, U't; 1 cJ, (.“i'-lM '» 

>0 IHEMQ =1 

o 

-.ly* 

' 50 

1Q =0 



''B 


>■(■■(KE-.46.0 


0 


> .-'VÍ' 

P''''kE5r:í2'“:0, 2 : P''' 

KE53291■2 


11^3 

pR.'N ! CHRi:' I47.( 

i. Hh:íC 195: "?LGR.I|(:SPC' 


TP 

1 Víi 

Pf-T N - 

(HP c SPC :■ COMPUTER i: bpc : 

o 

H/l 


■•-■R 1 Hl “ :■ f 1'"ÍMI r-lPl.: 


O 


R'N. '■ 

n*-' 2'0 .i:NI " I, (■ (H).) I SPC,1 THECSRC 1 PROüRRMME C. SPC3UH 1CHI. SPC3 ISCSPC3CRLLE.Ű 

I SPí ;1' h ;i . " 


O 

o 

o 

o 

o 

o 

o 

o 

o 


39 


MÁRCIUS 


o 






















PÁLYÁZAT 


o 

OK 

229 

‘^PiM£5.3:265 ■ EEEE'::5:3265) 0K:16 


0 



229 

EGKEl20.2 



0 

''■1E 

2‘i9 

EOI' 


0 

iíH 

259 





399 

01 E 



o 


3 1 0 

‘■■■K’MI r:HK:ti.:i4V':' 


0 



OÍ'M 

Enpl =631 TO640: EOKE1.0: NEXT 




co 

3S0 

EOh:E5:3265. pecj:, ,:;g32E;“.:j nRl6 



o 

EG 

3‘S0 



0 


RE 

400 

n 1 MM < M, o 1, i; 4 >( :í 25 ■; 4 > í K K 4.).. K2íE < 4)p ( 32 T; Sí < 24 ') 



o 

XE 

4 1 0 

XI =4:x2 .=X;I. : : . : X3 =00 • X4 =21 :X5 =03'■ X6 =23= : 0X7 =X6 •• : 


0 

E3 

430 

VI =::4; V2 =V1 ■1-25-V.S =17:V4 =00: V5 =15:V6 =V2 +\'V7 =V1 

+ 1; 


TE 

430 

l'X --1 000 



o 

XE 

P» 

441''' 

450 

Mij S20 : M(; Si0 


0 


OS 

500 

HI,,| =54272:111 =90; SÍ =7 



o 

HX 

5t0 

EQPI =0 T':'24; P0K6HW ■i'J...0; NEXTI 


0 


Mf-I 

520 

pnkEHW •■H32..000: POKEHM +83.. 000; POKEHIJ +05,114; POKEHW 

+06.243 



530 

POKEHi.i +24,01.5 



o 

EJT 

540 



0 


Eh 

600 

P) ai :3. p;? =13;P3 =0 



o 

:5X 

6)0 

POKE53230.. P1 : P0l<6532e 1.. P2 •• P0KE646, P3 


0 

MM 

620 




►-M 

630 

00SU:B5 1010; REr'1-:>K0S20N 10 



o 

'-'.J 

640 

li-Oí ="i:SE01" TMEM OOS1)B52010 


0 

OR 

650 

Pl =12;P2 =1 ;p.3 =0:P4 =8:P5 =6;P6 =7;P7 =3 



MM 

E60 




o 

rp 

Í000 

R£M - .ímJEKVEZERLES 


0 


EX 

1010 

DOSUB10010; REM-.>BEveZET£S 



o 

CS 

1020 

B =0 



SB 

1030 

IFI.IP =1 rHEMi200 


0 


QS 

1040 

OOSUBl1010; REM->LftPOSZTRS 



o 

.ÜB 

1.050 

GnsUBl20i0; REM-OKEZl LEiP KlJRTSZPSfl 


0 

BM 

1060 

KR =1 



KM 

10?0 

OOS'1Bl:3010; ReH~;>Kü2EPMEZ0 RPUZOLRS 



o 

M 

1080 

OriSL'B140l.0; RFM~>B GÉP ERTEKES LRPJRI 


0 


ITIT 

1090 

OMIKI ( 0 ) > OOSUS15010.. 15010.. 15010.. 16010^ 15010.. 15010. 1-5010.1601 




0; REM-OVROHSZOHí 



o 

JE 

1 1.00 

OOS''613010; REM->K0ZEPHE20 RRJZOLRS 


0 


E.T 

1 1 1 0 

IFhíB::' =1 1HFN1160 



o 

99 

1.120 

1ER(B.) =H<1) IHE111160 



HH 

1 130 

00811816010: REH-->KEZ VISZI 


0 


QE 

1 1 

lE'VK > 31 . iME1'1370 




OK 

1150 

001'0 1 0.40 


0 

vJ 

MC 

.1160 

GOSUB2001 0 ■■ REM-X OVHB.BÜTES VIZSORLRTfl 



>íX 

11 F9 

IFTK >0 1HEM1050 



o 

,TF 

.' 180 

OOS'1819010; REM->GEP VISZI 


0 

RE 

1190 

(PVK >31 THEH137a 



ITE 

1.200 

GÜSUB11010 ; REt-1->LRP0SZTRS 



o 

SS 

12.1.0 

OOSIIB14010: REr't--.>R OEP ERTEKES LRPJRI 


0 ' 


SE 

1220 

0080621010; REr'l->OEPI KEZDES 




EO 

1230 

OOS' 'B1:3010 ; REM->Ki;iZEPMEZO RRJZOLRS 


0 

o 

PF 

1240 

0080612010; REM->KE21 LRP KIJRTSZRSR 



SO 

1250 

KR =1 



o 

K3 

1260 

00:3UB 1 301 0 : REn->K02EPME20 RRJZOLRS 


0 


pj 

1270 

IEhCB) =1 THEN1290 



jp 

1200 

lEP'BT < >0(1) THEH1170 



o 

PK 

1 290 

OOSIJ6220I0: R£t'l->S2RBRD VRLRSZTHS 


0 


SR 

1300 

IFTO >0 TMEO1320 



o 

MO 

1310 

00101130 



HM 

1 320 

OOSO6130I0: REf'1->l<0ZEEl'1EZ0 RRJZOLRS 


0 


JP 

1330 

GOSU812010; REM->KE2I LRP KIJRTSZRSR 



o 

JO 

1 340 

KR =1 



ee 

1350 

00S1 iB 130 1 0; REM-OKOZEPIJEZÜ RRJZOLRS 


0 


j'j 

1:360 

GOTO 1 270 



o 

pp 

1370 

OOSM8230'0- REM~>PRRTI ERJEKELES 


0 

XE 

1:380 

00101010 



EM 

1:390 

EOJi 



0 

P.,T 

1400 



0 


E.Ö 

IP0CT0 SEM ... BEVEZEIES 



PE 

•0010 E0P1 ==1 1032 



o 

HO 

1002 

3 :E<J) =I 


0 


í:í*"í 

10030 HPX»I 



o 

MB 

10040 PP =:32;'^K =32 


0 

PQ 

JI'R 

10050 EOKE5:.32e0.. Pl: i^'OKESaxei ■ P2 : P0KE646 jP3 

10050 X =05 :V =39: OOS'IB40010; PRIHT"0'' 







40 


MÁRCIUS 







PÁLYÁZAT 


& 


Ü 

PS 

1 00 ,''0 

X = 09 : : : : : : OOSUB400.'0 : PR1NT"UI" 

0 


JO 

J. 0G80 

X==13::::.: OnSUB40010: PRIHT"E" 


0 

HP 

?.t'' 0 S '0 

X= 17 ::::,: 0001.1840010: PRJHT"R" 


TH 

KK 

.1 0 1 00 
<01 10 

RET'JRH 

0 


Pl 

HS 

t 1. 000 

RPH ~ LflPOSZTHS 

0 


RM 

11.010 

L '= 101X32 i* RN.Üf.0).:’ +1 


KK 

11020 

IPPP <1 THEN RETURN 


Q 

EH 

t 10 W 

IPP'.:!.;- <0 rHEHii 0 i 0 

0 

PQ 

í 1 G40 

: : 



0X 

1 1050 

JPÜK =1 rHEHli24@ 


O 

ÜB 

11060 

priRi =1 104 

0 


CJJ 

11070 

: 1P01<1) >0 THEN11220 


PH 

11080 

: 0 “P < L 


o 

SD 

1 1 090 

: OOSIJ,B30010 

0 


RB 

1 1 1 00 

:01(I> =Ql:02fX,I> =Q:í: 


o 

EH 

11110 

:Pi;L) = ~1 


KS 

11120 

■pp =pp -1 

(J 


PQ 

11130 

: p':tKE64e,P4 


o 

JJ 

11140 

:x =I *X1 +0:V ='71: ÖOSÜB40010: PRINT"iSBI!«S«" 

0 


BB 

1 1 150 

:X *=.í «X1 + 1 ;::::: OOSUB40010; PRIHT"«l5»^^«r 



FX 

11 160 

:X =I *X1 GOSUB40010: PRINT" 


o 

HP 

36 

11170 

11180 

:x =X3:v =V3; OOSUB40010: PRINT" CSPCKSPCHSPC1" 

0 


KB 

RP 

11190 

11 200 



o 

: ÜK =■ 1 

0 


XK 

11210 

: GOTO!1020 


o 

PQ 

11220 

NEXTI 



ÖJ 

11230 

RE1URH 

L/ 


HE 

11240 

FÜRT =1 TQ4 


o 

HE 

11250 

: .ÍFKICD >0 THEN 11400 

0 


PQ 

11260 

•Q =P(L) 


RO 

11270 

: ÜO8UB30010 


o 

KS 

11260 

•'Kia> =üi:K2í(;i) =0* 

0 


3F 

11290 

:P':L> = -1 



JB 

11300 

;PP =PP -1 

0 

o 

ÖH 

11310 

: P0KE646,P5 


Sü 

11320 

:x =I ♦X2 +0:V =V2: OOSUB40010: PRINT'T ' 1" 


o 

fcPi 

1 i 33l7i 

:X i*X2 + 1 ::;::: 13080840010: PRINT"! CSPCJLSPCli'SPOirSPOl r 

0 


(jilj 

11 .340 

.V ~.1 *X1 4.2::;::: OOSOB40010; PPIMT"!.í" 


ÜK' 

! ■< .350 

•X =1. i'*'X2 +l:V =V2 +ii : GOSUB40010: PRINTK2*a.> 


o 

JB 

11360 

:X =X3:V --íVS- GÜSI..IB40010: PRINT " CSPCI tSPCl tSPC ] " 

0 


HE 

11370 

;x ==Xj: : • : : : GOSUB40010: PRIHTPP 



PR 

11380 

: OK =0 


o 

HX 

1139t' 

■ 00)011020 

0 


HK 

1 1 400 

NEX 1 f 


o 

Q 

* 

1 '410 

1 1420 

RE1' !RN 

0 


PE 

12000 

RPH - KÉZI LHP K'IJHTSZHSH 


o 

RE 

j;iP 

12010 

12020 

B =B +1 

P0KE646.. P3 

0 ' 


KS 

12030 

X =X4:V =V4; OOSI.IB400)0: PRlNT" CSPC3 CSPCl t SPC3 CSPC J CSPC1 


o 



!.: spc . 1 1 s‘^c 1 c SRC11: spc j r: spc . 1 1 spc i c spc i c spc j l spc j t spc k spc 3 i; spc ] 

1 ; SPC i 1 : SPC 11 SPC 11 .: SPC 1 c spc 1 c spc 3 c spc i c spc i c spc j í: spc i c spc ic spc 1 
).: sp-c -j r. spc 11 : spc 11 spc j í: spc j c spc 1 c spc 1 c spc 11 spc i c spc i c spc 1 " 

0 

o 

£C 

12040 

X ==:X4 :::::: OOSOB40010: PR 1. NT " [ SPC J C SPC 3 C SPC 1 C SPC .1 [ SPC 31 SPC J 

i: SPC 1 c SPC 11 : spc j i: spc i t spc i c spc 31: spc j í spc j i: spc 3 c spc i -■ n i spc 3 

0 

o 

KR 

1 2050 

i; SPC .1J '■ N! i: SPC 3 C spc 3 r: spc 3 C spc 3 C spc 3 L spc 3 £ SPC 3 C SPC 3 £ SPC 3 £ SPC 3 
í; SPC 3 £ SPC 3 £ SPC 3 £ SPC 3 £ SPC 3 " 

0 

o 

HX 

1 

P'OKEHW +65,009: POKGHUI + 06 ,.009 

0 


BJ 

1 2070 

POKENW + 0 1,058 ! POKEHW , 130 



I)F 

1 2080 

POKEHW +04,017: FÜRI =1 TOMI *2! NEXTI 


o 

Pfi 

.' 2090 

PÜKEHM +04,016: FÜRI =■! TOHI: NEXTI 

G 


PQ 

1 21 fl0 

POKEHW +01,029 : POKEHW.. 069 


o 

QP 

12110 

POKEHW +04,017: PORI =1 TOHI i*2 : NEXTI 

0 

HS 

12120 

POKEHW +04,016! FORI =1 TOHI: NEXTI 


08 

12130 

POKEHW +05.. 114: POKEHW +06.243 


o 

jjp 

í 2 1 40 


0 

ME 

12150 

GETOí: 


PX 

121 60 

Tprj* ="" THEN12150 


o 

SG 

12170 

H =0 

0 


RR 

12180 

IPRí ="(:í" thenh *1 


o 

HP 

12190 

IKR* ="W" THENH =2 


QC 

12200 

J.FGíC- ="E" THENH =3 

0 


X0 

12210 

TFRÍ ="R" thenh =4 



EK 

t 00:>ci 

.'PH =0 THEN12150 



41 


MÁRCIUS 



























PÁLYÁZAT 


o 

i;;P 

J223G 

•l 

FTK =0 THEN12290 

O 


K.U 

'2240 

RÉM —■ REMflMSZ ELLENI VEBEL.EM 


0 

PS 

' 2250 

lEXKlCM;. < >8(1>:) RNIKKKHI < >0 THENH -0 

O 

pc 

1 2260 

rpu =0 TMi£rü2150 


PH 

12270 

PEt'! --- 


o 

PR 

1.2200 



O 


HJ 

12290 

"'KUH) <1 THEN12150 




'2300 


).0;i 

O 

o 

HH 

12310 


=W 4X2 H?:',' =V2: GÚS.1B40010: PR 1 NT " 1 SPC 3 [ SPC 31 SPC IC SPC 3 




' SPLjispei" 


o 

HB 

12320 

X 

=M *X2 -Fi:::::: GOSÜB400I0: PR I NT " l SPC 3 L SPC 3 1 SPC 3 L SPC 3 




ISPCTISPCJ" 



HX 

12330 

K 

=M *iX2 +2:::::: GOSNB40@10': PRIHT" (;SÍ='C.3 CSPC3 tSPC3 ISPC] 


o 



i.:5pc.h:spcj" 

o 

HP 

1 2340 

X 

=,K4;V =V4: üOSUB40ei0: PR INT " i:SPC3 LSf'CJ tSPCJ i;SPC3 ISPC] 

0 



'■ SPL :i i: spc 11: spc j i src 1 1; spc j i: src ] c spc 1 1: spc ] t spc i í spc d y. spc j i; spc i 
t SPC ;i 1 SPC 11 ; spc ;i t spc ;i c spc :) [ spc ;i t spc i i; spc ] r. spc ? í spc i c spc i i spc i 
i; SPC ;i í SPC :i c SPC11 ; spc i í spc 1 1 : spc i c spc j i; spc j tspc j í spc 1 1 : spc i" 

o 


ÜB 

12350 

K 

(H) =0 

o 

o 

PB 

!,23e0 

iKlC' =Kí<0;i 


Pl? 

12370 

n:B <2 1HEN RFIURN 


o 

kM 

12380 

K,(0> =hí;)) 

o 

í<r: 

12390 

REÍNRN 


KK 

' 2400 




o 

RK 

13000 

PEM KOZEPMEZO R8JZ0L.MS 

o 

p.J 

13010 

X 

=X5 *2 i4B:V =V5: GOSUB40010 


es 

13020 

ti-kr =0 THEN P0KE646,P4: PRINTBl " tLEFT J . CSPC] " .Nj2*(P> : GKF> 

o 

0 



sr 

oioKíCp;' ="i::sPC3" 

0 

PH 

13030 

(FXR ==1 THEN P0KE646.P5: PRINTB.; " tLEFT 3 . tSPCJ " 1 K2it;(:H > : KI IH.) 

=01 K2*<'-i> ="i:SPC3" 


Bíí 

13040 



o 


GX 

13050 

pk; =(^k -1 


o 

GH 

13060 

KR =0 

o 

SP 

13070 

RETURH 



C'P 

13080 




0 

RÜ 

14000 

RÉM - H GÉP ERIEKES LRPJHI 

0 

Tim 

14010 

HP =0:rZ =01RS =0 



MJ 

14020 

f- 

ORt =1 104 

o 

o 

KS 

' 4030 


rFGl<T:' =1 THENHE =HE +1 


HQ 

' 4040 


.IFGia ;' =4 THEWTZ =TZ +1 


o 

pp 

14050 


IFGI'III =0 THENRS =RS +1 

o 

EÜ 

14060 

MExri 


yM 

1 40 •■■0 

RE lURN 




14080 



o 


nj 

15000 

RÉM - H GÉP VR1..RSZR ERTEKVELEN LRPRfl 



KQ 

15010 

F0RP =1 '104 


o 

KJ 

15020 


iFOif'F) < >K1(0> TMEH 15050 

o 


BP 

15030 


GOSUS17010 



BP 

15040 


RE NJRN 

o 

o 

!<r'l 

15050 

NEXTF 


HP 

15060 

FfiRF =1 !ri4 



BS 

15070 


ON / G 1 c F) .1-1) GOTO 15100,15100,15080,15080..15100,15080,15080 

o 

o 



. I 

5080,15100 


P^i 

15080 


003111:17010 


o 

GH 

15090 


RE'ORN 

o 

PE 

15100 

NEXTF 



KE 

15110 

FQPF =1 104 


o 

BX 

15120 


iFOi-rF,:. < >1 rHEN15i50 

o 


JC 

15130 


O':iSUB17010 



KB 

15140 


RE'URH 


o 

RP 

15150 

NEX'IP 

o 


HP 

15160 

i'iNC i'Z +11 001015240, 15170,15180, 15180, 15240 


o 

ÜX 

15170 

e2 =4: GO'015190 

G 

BG 

15180 

F2 =8 


FC 

15190 

FOPF =1 104 


o 

TS 

15200 


lFOl'3-3 < >E2 THEN 16230 

o 


HS 

15210 


00SUB17010 


co 

15220 


retiirn 


o 

JR 

15230 

MEX'-P 

o 


B'? 

15240 

F = INI '.:4 * RND<0>> +•' 



Xft 

15250 

tfgu:F) =0 -^HEN15240 


o 

KM 

15260 

GOS'JBl 7010 

o 


BR 

15270 

RCTIJRN 


o 

RE 

15280 



o 

se 

16000 

RFH - R GÉP VRLfiSZrt ERTEKES Lf'PRR 


MD 

16010 

IPKl-rO) <: >4 THENEl =RS:E2 =81 GOTO 16030 



MÁRciÜs j12 











PÁLYÁZAT 



o 

xc 

1.6020 

E» =tz::F2 =4 

O 


K'fi 

.1.6030 

IFB < =1 I'HEHEI =3 


o 

PS 

16040 

iF-pi; < =9 THEHEI =3 


BR 

16050 



o 


fip 

16060 

J.FE1 <3 IHEW16i2e 



BJ 

16070 

FORF =' T04 


U 

CB 

16080 


iFGKP> < >E2 THEN16110 

o 


HB 

16090 


GOSUB17010 


o 

SM 

16100 


REMIRN 

0 

EP 

16110 

HEXIF 



HB 

16120 

IP (El -T-HE) <3 THEH16180 


o 

BP 

16130 

PORF =1 rru 

o 


PE 

16140 


TF'G1(F> < >1 THEN16r70 


o 

cc 

16150 


GOS'..IB17010 


PB 

16160 


RFTMRN 

o 


BH 

16170 

WEXTF 


o 

FB 

16180 

FORF =I 104 


BX 

16190 


ON C 01 F > +1 > GOTO 16220,16220.. 16200.16200 /16220,1620016200 





. 16200.. 16220 


o 

MQ 

16200 


GOS'J.B17010 

o 

MTI 

16210 


RFTURN 


hC 

16220 

NEXTF 


o 

PX 

16230 

F = iHT.::4 * RHDCO):) +1 

o 


4);' 

.1 624.0 

: 

kGIii^:? =0 THEM 16230 


o 

BH 

16250 

ROSUSI7010 

o 

pr: 

16260 

réti irn 



16270 




o 

BK 

1 7000 

RÉM -- GÉP! KIJHTSZRSR 82 '’R'' TÖMBBE 

o 


HE 

17010 

.B =B .* ■1 


PR 

17020 

R<B) -G1(F> 


o 

kQ 

17030 

FORl =:1 TOTX: NEXri 

o 


PM 

17040 

X =F «xi T-O:'/ =Vl: GO8UB400I0; PR INT " 1SPC3 CSPC] CSPC JISPC1 




1 

:PCT ISPCT " 


o 

KF 

1 7050 


; r::F ^íxi -Rl : : : : : : OOSUB400I0: PR I NT'O: SPC II SPC 3 I SPC 3 C SPC 3 

o 


EG 

17060 

1. SF'CI ISPCl" 



X =F *xi +2— — - OŰEilJ.B40010 PRJ.NT"l..yPCD[SPOllSPCII.yPC.) 

o 

o 



CGpc’isPc:]" 


OX 

17070 

RE T I IRN 


o 

R-C 

17080 




BK 

10000 

RFM -■ KÉZ VISZI 



BK 

' Rfl 11~1 

FORT =1 rOTX; NEX'I 


o 

HS 

1 8020 

PORI =1 T016 

o 


KM 

18030 


X =X5 tl:V =V5: GnsUB40010: PRINT" CSPC3 i:3PC3 !.:SPC3 CSPC] CSPC3 




1 spc IT spc 11 : spc :? i spc ]'■ 


o 

PX 

18040 

NEXTI 

0 


E.T 

18050 

FORl =1 TO0 


o 

BB 

18060 


iFRCl) =4 3HENKP “KP +1 

ó 

KTi 

18070 


!Fm(I) =9 TMENKF “KP -M 


BP 


NEX'1 T 


o 

XH 

18090 

fORI =1 T08 


OS 

18100 


IFRtI) >0 I'HENVK =VK +1 



EE 

18110 


R<I.:' “0 


o 

QM 

18120 

NEXT 1 

o 


EE 

18130 

P0KFE46,P5 

o 

PM 

18140 

X =X6:V =V6- GOSUB40010; PRINT"tSPCICSPCICSPCJ " 


PC 

18150 

> 

< =K€-'---- GOSUB40010: PRINTKP *10 

o 


El"' 

1 01 60 


:s =kS *1- TFVK “32 THENVK =34 


o 

RF 

10170 

B =0;1O =0:TK =0:nK =I 

o 

.TF 

10180 

RET'JRN 


KB 

18190 




o 

PK 

19000 

RÉM - OEP VISZI 

o 


KJ 

19010 

FORl =1 TOTX: HEXTI 


pH 

19020 

FÓR) =1 T016 


o 

HR 

19030 


X “X.5 TTrv “V5: 00808400)0: PRINT" tSPCJ CSPC] CSPC3 CSPC3 ISPCl 

o 




I' spc :i r spc 1 1 ; spc 11: spc i" 


o 

BQ 

19040 

NEXTÍ 


MM 

19050 

FORl =1 TOR 

o 


MO 

1 9060 


;iFrt.::i;) .“4 thenOP “GP +1 


o 

pr.i 

19070 


ii-Rdl' “8 THENGP “GP +l 

o 

K.J 

19080 

NExri 


BG 

19090 

Füri = 1 tor 


o 

ex 

19100 


IFmCO >0 THENVK =VK +I 

o 


HM 

19110 


’ > -=*!? 



19120 

► 

TExn 


o 

FR 

19130 

P0KE646.. P4 

o 


RE 

.1 9 1 40 

X =X7;R =V7. GOSUB4001@: PRINT"tSPCJi:SPC3i;SPCI" 



BP 

19150 


=X7: : : : : : GOSUB40010: PRINTOP *10 















PÁLYÁZAT 








;<S 

t9l60 

GS =GS +l; =32 IHENVK =33 



^'C 

1.9170 

p :=0:TG = 0 : rK =0: OK =0 


o 

HP 

1.9160 

RETiJRN 

O 


, 0 B 

19190 




FK 

20000 

RFH - TOVGBBUTES V1 ZSGFli.,PTfl 


o 

RC 

20010 

P0KE646.. P3 

O 


CF 

20020 

PQRM =1 104 


r'i 

MB 

200 50 

. iPKlCH.:- =' tmentk = 1 ; 001020060 



ÜJ 

200‘10 

• IPKIOO =F|.::i> THENTK =1: 007020060 

o 


se 

200 S 0 

NEXTH 


o 

pp 

20060 

1 K =0 

o 


CB 

20070 




FS 

20090 

IFB =6 THEN20330 


0 

f:j 

20090 

tpPK =0 rHEN20330 

o 


QE 

20100 

X =X4:V =V4: GOSUB40010; PRTNT"ISPClCSPC3ISPClLSPC?ISPC] 





(■ fipc 1 í spc ;i»: SPC11: spc i c spc :i t spc i c spc .t t spc j c spc .i i: spc ;i i; spc ? r: spc i 


Ü 



' spo 1 r SPC 3 1 : SPC 11: spc 11 spc k spc ] t spc 3 r. spc d l spc i i; spc 1 1 : spc ;i i; spc i 

o 




1 SPC ] 1 SPC ;i 1 SPC 11 : spc i c spc 3 c spc 3 c spc 1 1: spc 11 spc i c spc 3 1 spc i " 



rtli 

20110 

X =X4:V =V4: OOS'.IB400! 0 ; PRINT" CSPC:! l'SPC 11SPC.1 CSPC] CSPC:' 





rSPC ■! r.:SPC 3 í spc 3 l SPC 3 C SPC 3 CSPC3 T0V#BB t SPC3d'1 1 SPC 3 C I /M> ? 1 SPC 3 





1 -SPC 3 r SPC.3 CSPC3 1 SPC 3 t SPC 3 C SPC3 C SPC3 1 SPC3 l SPC 3 í SPC3 í SPC 3 " 


o 

CR 

20120 

OETG* 

o 


niR 

20130 

ÍFGí ="" THEN20120 



PQ 

20 M 0 

lEG* < >"1" THENTK =0: OOTO20330 


o 

Fy 

20150 


o 


PS 

20160 

lETK >0 THEN20330 



RS 

20170 

K =:>::4:V =V4: GOSÜB40010: PR I NT " C SPC 3 1 SPC 3 l SPC 31 SPC 31 SPC 3 


■ 0 



C SPC 31: SPC 31 SPC 3 [ SPC 31 SPC 3 C SPC 3 L SPC .7 f SPC 3 CSPC 31 SPC 31 SPC 3 C SPC 3 

o 




1. SPC 31 SPC 3 í SPC 3 í SPC 3 C SPC 31 SPC 31 SPC 31! SPC 3 í SPC 3 C SPC 31 SPC 3 í SPC 3 


o 



[ SPC 3 r SPC 3 >: SPC 3 C SPC 31 SPC 3 r SPC 3 C SPC 3 C SPC 31 SPC 3 C SPC 3 C SPC 3 " 

Ci 

pp 

20180 

X =X4 : V =V4 : GOSIJB400 10 : PR I NT '• t SPC3 í SPC 3 CSPC 3 C SPC3 CSPC3 





I' SPC 3 SPJNOS [ SPC3 ' NNEK.C SPC 3NI.NCS [ SPC3 <T#l...flP.J81 tSPC3 1 SPC3 CSPC 3 


o 



tSPC3rSPC3rSPC3" 

0 


RK 

20190 




XB 

20200 

POKEHW +05..000: POKEHIJ +06,000 


o 

BJ 

202’.0 

FORT =1 T02 

o 


KC 

20220 

; POKEHM +01 ..032: P0KEHU,219 



JP 

20230 

; POKEHIJ +04,. 129 : F0R..T =1 TOHI. #2: NEXTJ 


o 

GQ 

20240 

: POKEHI'f +04.. 120: FORJ =1 rom : NEXT.T 

o 


SP 

20250 

■ POKEMN + 0 1,016: POKEHW., 109 


Q 

CO 

20260 

: POKEHW +04.. 129 : FÜRT =1 TOHI #2: NEXTJ 

Q 


HX 

20270 

: POKEHW +04,128: FORJ =1 lUHl : NEXTJ 



PC 

20280 

NEXT ( 


o 

3J 

20290 

FOKÉ HU +05,114; ROKEHU +06,2'43 

o 


QE 

20300 




CJ 

20310 

FORI =1 lOi'X: NEXri 


o 

í^fi 

20320 


0 


HE 

20330 

X =X4:V =,;V4: OOSUB40010; PR IN " rSPCH ISPC 3 ISPC 3ISPC HSPC 3 





r SPC 1 1 SPC 3 1 : SPC 7 CSPC 3 1 ; SPC 3 C SPC 31 SPC 31 SPC 31 SPC 31 SPC 31 SPC 31 SPC: 3 





r SPC '1 c SPC 3 1 SPC 1 1 : spc 3 1 spc 31 spc 31 spc 31 ; spc 3 1 spc 3 1 : spc j 1 spc 31 spc 3 

u 




L spc 3 1 : SPC 3 1 : SPC 3 1 SPC 3 CSPC3 1 SPC3 CSPC 3IISPC 3 CSPC 3 lSPC 3 1 SPC3 " 


o 

P1J 

203'^0 

RE'URH 

o 


MK 

20350 




QX 

21000 

RÉM- - GÉPI KEZBES 


o 

P.T 

21010 

El =TZ:E2 =4 

o 


RP 

21020 




FX 

21030 

lEEl >2 THEW21230 


o 

KX 

21040 

TFEl Cl THEN21060 

o 


JM 

21050 

IF<E1 +HF) >2 THEN21230 


o 

FB 

21060 

IFE2 =8 ■'■HEN21100 



MS 

21070 

El =OS'E2 =8 

o 


GG 

21080 



o 

PH 

21090 

GOTO21030 

o 



21100 

FOPF =1 T04 



C'P 

21110 

: ONújI(F > +1> G0T021140,21140,21128,21120,21140,21120,2112© 


o 



.21120,21149 

o 


OP 

21120 

: 00:SUB 17010 



PQ 

21130 

• RETiJRH 


o 

ny 

21140 

NEXTP 

o 


ŰF 

21150 

IFHS >0 THEN21210 


o 


21160 

IPTZ >0 THEN21190 


S.B 

21170 

E2 =1 

u 


SS 

21190 

GnT02i230 


o 

FF; 

21190 

E2 =4 

o 


JS 

21200 

GOTn21230 



CS 

21210 

IFTZ >1 THEN21190 


o 

SX 

21220 

E2 =8 

o 


Ql MÁRClŰ^ “44 






\ ^ .A. . 

■ S PALYAZAT 0 



CJ 

2.1.23V) 

PfiRF *1 704 



0 

M.T 

2.l.2--'-0 

: It-01(P:> < >62 ■|■HEN^1270 



QC 

2’250 

: 0081.1:317010 


O 


RF 

21260 

■ RKTURM 



o 

BF 

21270 

0EXIF 



MR 

21280 

p = IMT<4 * RNJiCOj::. ^1 


o 


fjM 

21290 

iF-nifP) =0 THE021280 



o 

fi7' 

21 ?00 

hHSMPI ,'010 


o 

.«>' 

21 110 

FF í 1 i.pN 





21. ?20 




o 


:;-'.?00í.i 

RF'-' -■ 37‘'|Ph‘i V>-'LH37íHS 


o 


í:!-' 

.i,;>0'0 

kHi-m , :;=H'1;) 



o 

h:' r 


p.iRP =1 0(4 


o 

IMS 

2.Yv^i!V*f 

■ 11-0,1, 4 > < K■' < 0 j 11'EN22060 





■ 0''*álllr-l 70 1 0 



o 

n/' 

22'3f»0 

: 1 0 =■■ 1. : RE 'IJFí" ' 


o 

t?'. 


HRK i F 




Uh 

22íí.''m 

'P!.; =,=4 rHEM22090 



o 

UH 


lkKl''0> < '8 iHFMI'Ü =0: RETURU 


0 


220'-f0 

Pf.lR'-- 1 ■ |■;|4 



Mrt 

22100 

: iFPii,,>.j <; -,1 1810122130 



o 

iI'R 

22110 

■ 008111117010 


• o 



22720 

:'8-s,:i. REI'IRM 




K- U 

221 31 ;., 

ppR 1 !■■■ 



o 

H ’ 

22:1 'KH 

■ H =0 


0 


Eh 

22150 

RF MIR'-I 



o 

H r 
■■■ÍR 

22160 

2H0',’0 

yCM -.. t:í8i.,-r;| ERIEKtLÉS 


0 


FH 

2.:?010 

^.•:lR| Ki HjCX: NÉXTl 



0 

FS 

23020 

PÚIN' CHRÍ.A14F.) 


o 

vJH 

2.30:-?0 

Ml T”.. 




kjM 

2 Í0''M:1 

pfiRI s=0 roí-i 

- 


o 

mH 

2 1050 

■:5í'1.;- -"l-SPCJ" 


o 


hC 


we:«;t 1 



o 

sh 

2:20 i'H 

’PO'' >KP '■HEH24010 


o 

Cl) 

2.'?v.’80 

)i-k'P >0'-’ THEM25010 



f- 'H 

230:90 

IPVR =33 li'IEH24@l';? 



o 

Qö 

2:-i 1 00 

icyp =34 '■HEW25010 


o 

MM 

2.31 1 0 




ek 

2^1000 

RP'M .. H OEP NVERT 



o 

f- V 

2'^010 

P01-:P5-1280 .Pl- r'OKE53281 • P6 


o 

CK 

2^020 

r-lH =80 ... l 



h:’ 1 7 

2'-k030 

1401.. =:8 ihemho :=M0 ■♦■I:i8*<0:> = " CSPC71iSfi'Cl tSPC] tSPCl ISPCl 



o 



- spi . ;i'. spQ '1 1 :81'C :i 1.: spc i r spp i í spc ] c spc 11: spc ] t spc j i: spc 11 spc ikopos;:: 

' 1 . SRI : .11:8Pf: 11 SP'C 7 CSPC J í SPC J 1 SPC 11)SPC 7 í SPC 71 SPCK SPC71 SPC 7 í SPC 7 


o 

o 



1 S'-*c ::i i;: sí-''": :i i spc .1 r spc 7 " 


o 

rn 

2^0'10 

lEKS =0 THENHO =MG +1iiSí:<:0> =" LSPC7 CSPC7 1 SPC 7 [SPC7 CSPC7 


o 



i; Si-i'C 71 SPC 11;SPf: 7 [ SPC7 [SPC7 [ SPC 7 í SPC 7 [ SPC7 [ SPC 7 LSPC7CSUPRS2! 

1 ; SPC ? 1 ::1PC 71 SPC 7 [ SPC 7 C SPC 7 [ SPC 7 [ SPC 7 [ SPC 7 C SPC 7 [ SPC 7 C SPC 7 [ SPC 7 

1 ' SPC: 7 1:3PC 7 (.SPC 7 [ SPC 7 " 


o 


HM 

2'i050 

1 3 iHT.;5 <1 RHIllO::'+1 



o 

XR 

2‘i060 

ICI Ki -IHPIS, ="i:sPC7i;8PC7[SPC7i:SPC7CSPC7[SPC7(:SPC7[SPC7 


o 




1 ;S^'C7 rSI 'C :i l SPO ::iSC spc 7Ol spc 7..Tl spc 7M [spc 7#C spc 71..C spc 7OCSPC7M 



o 



1 SPC 7 . 1 SPC: 7 I' SPC7 ( SPC .1 [ SPC71 SPC7 [SPC7 [ SPC 7 [SPC7 CSPC 7 [SPC71 SPC 7 


o 

kx 

,=-1000 

1 F ! k 2 f 1 <E1 k■■ i;SFi; 1 f SPC7 [ SPC 11:SPC 7 t :3PC 7 r: SPC 7 [SPC7B1ZQNV 
. 1 8PrjE.:':SPC 'NEM' SPC ilSIKERCI.T ' i: SPC. ll SPC 71 SPC 7 [SPC 7 [SPC 71 SPC 7 




0 

uf) 

24080 

í oL/r 1 f t " 

iu. ^ t ■ 1“ ws^c) y SHc 1 rsí-'C 1 í SPC:í t; spc:] í:spc j í sf-’C i Hnmr, 


o 




1 sor SFHIMI f t EMTSPC7VOl N8 1 [SPCil [SPC7 [SPC7 [6PC7 [SPC7 [SFiC7 



o 



i‘:-.oc ' i'sor 1" 


o 

o 

hK 

24090 

1 k.:-, k 4 rt iEHS?; 11 :> = " [SPC7 1 SPC 7 [3PC7 [ SPC7 [SPC7 C SPC 7 [SPC7 [ SPC 7 

1 spi:: :i i spc 7 szpimori- 1 spc 7 hxrem [ spc 7 vhn ., >: spc 7 [ spc 7 [ spc 7 [ spc 7 [ spc ::i 

I’SPC 1 [SPP. 71 SPC 7 C SPC 1 [SPC 7 [SPC 7 " 


o 

o 

HP 

24 1 00 

u. 1 k5 = "HE FSRQ 7fií).JP[ Síi'C7FEL ' LEÓK''ZE(,EBB[ SPC 7 BIZTO 

SPC 7 SÍ 01 001,1 " 



':'9 

241 10 

X =06-v =00: OO&1JB40010- PRlNTSÍd) 


o 


f; 1 • 

24120 

X kHm: : : : : . 0-1811340010: PR7HrS*(0) 



o 

H.B 

24 1.30 

>í Kty:..;.: OOSHB40010: PR 1 NT " [SPC 7 [SP'C 7 [&PC 7 [ SPC 7 [ SPC 7 [SPC 7 
• S'-'C 7 [ SPC 7 E2 r [ SPC 7 R [ SPC 7 PRRT 1 T t SPC 7 :í:N t SPC 7 NVERTEM 1 [ SPC 7 [ SPC 7 


o 




[ SPC 1SI 'C7 [ SPC 7 [ SPC7 [ Sl-'C 7 " 



o 

■■ÍM; 

24 1 40 

K =12: ; : ■ : : OOSI.IB400 1 0 : PR INT" CSPC7 [SPC7 [SPC7 [ SPC7 [SPC 7 [SPC7 
rSPCl l'SPC 1 l'S‘:'C:i [SPC7R[SPC7Miii:RK*Z*S[SPC]#LLiS1SR : [SPC7 [SPC7 [SPC7 


o 

o 



1' SPC 1 (■ S'='C " [ SPC7 [ SPC 7 [ SPC7 [ SPC 7 [ SPC7 [ SPC 7 " 




24150 

=-18:..::: O0S(.IB40010: PRI NT " [ SPC 7 [ SPC7 [ SPC7 [SPC7 [ SPC7 [ SPC7 
[ SPC .11 SPC :i [ SPC 7 [ SPC 7 [ SPC 7 [ SPC 7 [ SPC 7 C SPC 7 [ SPC 7 " 


o 


o 

PM 

2A ' €A 

PRINI' SiR*'.MO::- -|■■"[SPC7 1" + strícmk;:- 


c 


45 “ MÁRCIUS 











PÁLYÁZAT 




o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 


Hll 

l'J 

se 

mP 

KM 

KS 

KP 

P!l 


241 ?'0 
2‘» 180 
24) 00 
24200 
24210 
25000 
25010 
25020 
25030 


RP =0:fjS =0-KP 
RPM -> 2EME 
(•Or055010 


=0:KS =0:OK =0MJP =1 :VK =0 


0J 25040 


KP 25050 
.'ÍJ 250S0 


hB 250?0 


Bh 25000 


KP 25090 


flP 25100 


PC 

fp 

BH 


251)0 

25120 

25130 


Rk' 25140 


SF 25150 


RE 

HF 

.KH 

FO 

J.B 

MR 


25160 

25170 

25160 

25190 

25200 

25210 


RÉM — 0 KE2 NVER7 
POKE532H0, p 1. P0KE53261P7 

r.iK =Mk .1.1 

TFkrp =0 'ÍUCNNK e=MK 4t::S:*4:0.) =" t SPC3 CSPC l L'SPCK SPC l CSPC 3 
I Spf: 1 f SF'f: 11 PPC1 r SPC 1 l'SPC318PC 3 C SPC3kOPPSZC8PC 3LETTEM I CSPC 3 
CSPC31:SPC 3 i;SPC 31:SPC 3 t SPC 3 lSPC 3 C SPC3 t SPC 3 t:SPC 3 CSPC3 í SPC 3 t SPC3 " 
(FOS =0 TMENpiK =MK +1-8*10:) ■="csPC3[SPC3i:spc3t:sPL;3[:sPC3 

i: sp(;: :i '■ spc31: spc 31spc3 i;spc 31: spc31 spc 3csüpbsz i: spc3leti em i r spc 3 
1 S‘'j;3 1 SP'C 3 1 spc 31;spc l CSPC3 i :spc 31 spc 31;spc3 C spc 3 t spc 31SPC 3 " 

1 = :p-jt(: 5 i* RMDi0:)> +i 

T P r 1 vmehst 11.) = " [SPC31; SPC 3 L SPC3 L SPC31 SPC31:SPC3 CSPC31SPC3 
r ppr; 1 n r spc } R t spc 3RC spc 3 r t SPC3U[ SPC3L t SPC 3 # t SPC3 L íí SPC 30í SPC3K 
!■ SPC 3 ,1'SF'C 3 r SPC 3 r: spc31:spc 3 [spc 3 CSPC3 i;SPC 3 CSPC 3 C SPC 3 ’■ 

1F f =2 1HENS* 1 D =" t SPC 3 [ SPC 31 SPC 3 C SPC 31 SPC 3 í SPC 3 C SPC 3 BIZOHV 
. i:S‘'''C 3EZ 1 SF'C 3MÉMt SPC 3SIKERCLT' í SPC3 BSPC31SPC 3 CSPC 3 CSPC3 C SPC3 
i: SF'C 3 l'SPC 3" 

r F I =3 I hENS* 11:) = " r: spc3 í spc 3 LSPC31:spc 31 spc3 C spc 3 r SPC3MflH#T , 
i: SF'C 3 NEMr SFC 3H .13 TEM C SPC3 VOLNR i í SPC3 1 SPC 3 C SPC3 í SPC 3 L SPC 3 C SPC3 
L SPC 31; SPC 3" 

IFI =4 iHENSílt > -'■! SPC 3 l'SPC 3 [SPC 31 SPC 31: SPC ír SPC H: SPC 3 1 ; SPC 3 
rSPí: ’[s^c3rSF3[SPC3SZ0Mi3R+ [SPC3JROVOK, [SPi;:3[SPC3CS^'C3[' 

I' SF'C 3 [ SFC ] (■ SP'-;: 1 c SPC 31: SPC ■' i: spc 3 [ spc 31 SPC 3" 

IFI fMENs* 11) “ [SPC31:SPC 3NEM [SPC 3 p:iiom•: spc: 3fei... ! <: spc i legi': ■■ 

2F' EBFif Sh-'C )i: S+'C 3NVEREk I í SPC 3 " 

=06 Mt' =00: OÜSIJB40010: PRTNrS*'.:i> 

K =.00, : : : : eOSUB40010: pR(HTSí:10> 

K =10:;:.:: |■3O3I3B400 10 : PR 1 H'T'" í SPC 3 [SPC 31;SPC3 [ SPi;: 3 [ SPC 3 [ SPC 3 
[SFC3 ':SPC3EZTrSPC3tHrSPe3PRRírrrSPC3 ''NlSPi;: JNVER l'E I [SPC3 rSPCJ 

C;P|-- ^ (• gpi". , i; gpf. 1 r gpQ ;;| gpf; j |- gpQ 3 .1 

X = i 2 : : : : : : 0nSMB40010: PR J N T " [ SPC 3 [ SPC 3 [ SF'C 3 [ SPC 3 [SPC 3 1. SPC 3 
l'SPC3 r SPC:) I'SPC3 [SPC3H[SPC3M:it:RK)HZS3[SPC3*tU_.#SH : [SPC3 [ SPC3 [SPC:) 
>' SPC 3 [ SPC 3 r SPC 3 1 ; SPC 3 [ SPC 3 [ SPC 3 [ SPC 3 [ SPC 3 " 

X =(6: : : : •: GOSUB40010: PR1N T"[SPC3 L SPC 3[SPC 3[SPC 3[SPC 3[SPC 3 
[SF'C 3 ' SPC3 [ SPC 3 [SPC3 [SPC3 [ SPC 3 [SPC3 [ SPC 3 [SPC3 " 

PRÍM''' SI'RÍIMO:) +"[SPC3:'' + STRílMK.) 

OP =0:GS =0:K:P =0:KS =0: OK =1:ÜP =0: VK =0 


RFM 

OOTfi 


!ENE 


)5010 


GK 

•30000 

RÉM - 

LRF f+TKOTiOLHS 

kM 

30010 

02 

: fin 

“Q2 

9 * JN'í tQ2 +1 

XH 

:30020 

IF02 

/8 

>0 THENQ:*: ="['■ 

0F- 

30030 

1F02 

/3 

>1 THENO* <="£" 

QM 

30040 

IF'02 

/8 

>2 THENO*: ="3" 

PK 

30050 

IF02 

/s 

>3 TMEHOí ="t" 

CS 

30060 

IFQI 

= 1 

rMEN0:f 

=oí +"[SPc;:t[SPC37" 

913 

30070 

IFOl 

“dl 

■IHENO* 

=0* +"[SPC3[SPr:30" 

SH 

30060 

iFy). 

“3 

'ÍMENO.-*: 

=Q* +‘’[SPC3[SPC39" 

XC 

30090 

IFO) 

=4 

THENO# 

=0* +"CSPC310'' 

MC 

30100 

IFQI 

=.*fi 

T'HENQ* 

=0* +"CSPC3[SFC3R" 

PS 

30110 

IFOl 


THENOÍ 

=0* +"[SPC3[SPC3F" 

B9 

30120 

[FOl 


TMEHO# 

=0* +"[SPC3i;SPC3K" 

09 

30130 

IFOl 

=8 

T'HENO:* 

=0* +"LSPC3CSPC3i-" 

EB 

30140 

RE'l'l.lRN 



GM 

30150 






A program további részét 
(köszöntő, képernyőszöveg, 
zene) — mivel a működés 
megértéséhez nem elenged¬ 
hetetlenül szükséges — ter¬ 
jedelmi okból nem tudjuk 
közölni. A teljes program a 
Pötyögőszolgálattól megren¬ 
delhető. 


MM 

QR 


40000 

40010 


RK 40020 


OS 40030 
BK 40040 
PB 40050 
XX 40060 
•Xíü 40070 


RÉM - rRSR POZICIONRLflS 

X* ='' [ BOl'IN 3 [ liOUH 3 [ D0l'.!N 3 [ BOWN 3 CDOWN3 [ J30WH 3 [ llOWN 3 [ ;O0WH3 [ DOWN 3 
I' IJOL'N T [ DOWN3 1 TinwN 31BOWN3 [ I3ÜWN 3 [ DOWN3 [DOWN3 [ DOWN 3 1 .DOWH 3 [DOWN 3 
[ DliiWN ,3 [ DOWN } [ I'OWN 3 C DOWN 3 C DOWN 3 " 

V* = " !' R1 OH')' 3 [RIOH'i- 3 [RI.GH1'3 CR!GHT 3 CRIÜHT ] t RIOHT' 3 [ R J.GH')' 3 
r R T CM'!' 3 r R t OMT 3 [R3 GH'f' 3 CR J.GHT 3 [R10H3' 3 CRI ONT 3 [R10H3 3 [RI GH'l' 3 
r R! RMr ] r R),RHT1 [R1 GHT 3 [ RIOHT3 [ RIGH T3 [ RI. GHT 3 [RI GHT3 [RIGH'l' 3 
r R i RHT 3 IRT GHT 3 [ R . 1 : GHT 3 [ R l GHT 3 [ RIGH3' 3 [ R1 OHT 3 [ R .1 GHT 3 [ RI GHT 3 
[R T RW'i 3 [R .1 GHT 3 [ RIGHT 3 [RI OHT 3 [RIGHT3 [ R1 GHT 3 C RIGHT3 [R J.GHT } 

[RIONT3" 

X-í == M ÍDSlXí:.. 1 .X) 

Ví = MIDÍIV:*:. ! ,Vi 

Xí ="CHnME3" +X* +V* 

PR:[NrX3:,. 

RETIJRN 


O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

O 

o 

o 

o 

o 

o 

o 

o 

o 

o 

o 



















266 

■F4 

91/ 3 

Tape-disc copy 

90.- 

267 

C64 

91/ 3 

BASIC rearranger 

40.- 

268 

C64 

91/ 3 

BASIC decompactor 

40.- 

269 

C64 

91/ 3 

BASIC merger 

40.- 

270 

C64 

91/ 3 

SEIKOSHA 

60.- 

271 

C64 

91/ 3 

Cartridge szimuláció 

100.- 

272 

+4 

91/ 3 

Sally kuicsszóksresö 

40.- 

273 

■^4 

91/ 3 

Merge C-f-4 

60.- 

274 

C128 

91/ 4 

1.5 MHz-es C64 

80.- 

275 

C64 

91/ 4 

Morze - H 

60.- 

276 

C64 

91/ 4 

tipr í 111- 

40,- 

277 

C64 

91/ 4 

ASCII - CHR$ 

40.- 

278 

C64 

91/ 5 

Rendező 

60.- 

279 

C64 

91/ 5 

Keretbeiro 

50.- 

280 

C64 +4 

91/ 5 

NLQ Prínt 

50.- 

261 

C64 

91/ 5 

FLD 

40.- 

282 

C64 

91/ 5 

Raster Split 

40.- 

283 

+4 

91/ 6 

ProgramnyiIvantartó 

60.- 

284 

C64 

91/ 6 

Regiszter 

50.- 

285 

C64 

91/ 6 

Digitalizált zene 

40.- 

286 

C64 

91/ 6 

Ékezetes HPS 802 

60.- 

287 

C64 

91/ 7 

•Ékezetes iratkeszitö 

80.- 

288 

•^4 

91/ 7 

Bűvös téglalap 

80.- 

269 

C64 

91/ 7 

Dominó - H 

80 .- 

290 

C64 

91/ 7 

Raktáros 

60.- 

291 

1-4 

91/ 7 

Tologató 

50.- 

292 

C64 

91/ 7 

Aren 2000 

40.- 

293 

C64 

91/ 7 

Bad Lamps 

60.- 

294 

C64 

91/ 7 

Operatíon Patriot 

40.- 

295 

+4 

91/ 7 

Mozaik - B 

70.- 

296 

*4 

91/ 7 

Logi Kód 

50.- 

297 

C64 

92/ 1 

Databevivö 

40.- 

298 

+4 

91/ 7 

Bőmber 

40.- 

299 

+4 

91/ 7 

Dominó - K 

40.- 

300 

+4 

91/ 7 

The Wall 

30.- 

301 

C64 

91/ 7 

Mozaik - K 

40.- 

302 

+4 

91/ 7 

Dominó - R 

50.- 

303 

+4 

91/ 7 

*Borgok Kincse 

150.- 

304 

+4 

91/ 7 

Asteroids 

50.- 

305 

C64 

91/ 9 

Ékezetes Irat forrás 

30 

306 

C64 

91/ 9 

Yugo2 

40.- 

307 

C64 

91/ 9 

Adventure - Sz 

100.- 

308 

C64 

91/ 9 

Morze Oktató B. 

100.- 

309 

+4 

91/ 9 

Memory Game Plus 

60.- 

310 

C64 

91/ 9 

*Capitaly 

100.- 

311 

C64 

91/ 9 

•Gengszterek 

50.- 

312 

C64 

91/ 9 

•Küldetés 2000 

80.- 

313 

C64 

91/ 9 

Itt a $ hol a $ 

40.- 

314 

C64 

91/ 9 

Hewing 

40.- 

315 

+4 

91/10 

Mikrobí 

40.- 

316 

■F4 

91/10 

Nest ot Fleas 

150.- 

317 

+4 

91/10 

Adventure - F 

60.- 

318 

+4 

91/10 

A világ szeme 

120.- 

319 

C64 

91/10 

Gondolk026 

80.- 

320 

CÓ4 

9J/J0 

MejTiríj-1 - H 

1 .10.- 

321 

+4 

yi/iO 

MaLwkaately 

100.- 

32:; 

f:ó4 

91/11 

Lottó 

80.- 

323 

C64 

9l/ii 

Totó 

80.- 

324 

Cb4 

41/11 

Neiíiet oy.ikorlo 

60.- 

325 

i4 

91/11 

fteszeló szótár 

1 3(1. - 

326 

+4 

91/11 

Fi le examiney 

dO . - 

327 

C64 

•Jl/V 1 

fjprito Hzeikes-zio 

50.- 

328 

<'64 

91/.U 

FgYSZimi ÍSprite 

50.- 

^^9 

C64 

yi/:.- 

RíjleLt >avitds 

50.- 

330 

C64 

<1 1 / 1 2 

Tőzsde 

130.- 

331 

C64 

91/12 

IQ teszt 

150.- 

332 

C64 

42/ 1 

Ka 1 and 1ap 

80. - 

333 

<164 

92/ l 

l.eve 11 ro 

80.- 

334 

Ch4 

42/ i 

Képei nyr-maszkoi o 

1 fO. - 

335 

C64 

42/ l 

Spi I Le Keze 1 o 

100.- 

336 

Cei4 

92/ i 

SÍ - OFART 

40.- 

337 

Ci>4 

92/ 2 

Patience Qoartet 

130.- 

338 

C64 

42/ ;> 

Monopoiy 

130.- 

.139 

C64 

42/ 2 

Akasztói a 

80 . - 

340 

i;o4 

92/ 2 

Kai aktortprv'*zo 

t)ij .- 

341 

L’64 

92/ ^ 

Srring Array Manager 

100 .- 

342 

064 

92/ 3 

Sprit<^ Basic 

50.- 

.143 

C64 

92/ 3 

Bcreen Help 

50 

344 

C64 

92/ -i 

Gyors validate 

60.- 

345 

i;64 

92/ 3 

bASIC SYKTAXEH I. 

19Ü. - 

340 

C64 

92/ 4 

Tologató ir64-re 

■J 00. - 

347 

l'04 

92/ 4 

ABC rendező 

TOO.- 

346 

C64 

92/ 5 

•Mátok * Romai szamok 

100.- 

•149 

■*■4 

92/ 6 

Tesztkeszitó •► ertekeló 

100.- 

350 

(.‘64 

92/ 3 

BASIC SYNTAXER 11. 

i9u . - 

351 

■•■4 

92/ 7 

Három játék 

110.- 

352 

4 4 

92/ 7 

Szökés 

ÖO .- 

353 

C64 

92/ 7 

Toto 

150.- 

354 

C64 

92/ 7 

ÜIGIT analízis program 

IIO.- 

.355 

•»4 

92/ 7 

SCREEN DUMP 

IbO.- 

356 

C64 

92/ 9 

UNlSEQ t11okeze .o 

130 .- 

357 

C64 

92/ 9 

Graphic Copy 

60 

358 

c'64 

92/10 

Printtóx Resizer 

130.- 

359 

C+4 

92/11 

Tólogato l1. 

150.- 

360 

C*4 

92/12 

Sprite Plu3-4-en 

1 30.- 

361 

C64 

92/12 

Va1tozolista 

150.- 

362 

CÓ4.-44 

9 3/ 2 

Szomszéd jatek 

200.- 

363 

C64 

93/ 2 

Táblás játék 

200.- 

364 

CÓ4 

93/ 2 

SEIjA 

150.- 

365 

C64 

43/ 2 

415 * 200 

120.- 

306 

+4 

93/ 2 

OTP hitel 

lOÜ .- 


A "-cjai .iíjlolt pro<3ramok csak lemezen rendelhetők ! 


EGYESÜLET 



Kérem, hogy a Commodore Újság legközelebbi számában 
jelenjen meg a következő szövegű apróhirdetés: 


(minden kockába egy betűt írjon) 



Feladandó az újság címére; 

Commodore Újság 
Budapest, 1388. Pf. 86. 

Alulírott megrendelem a következő programokat a PÖTYÖ- 
GÖSZOLGÁLAT-tól: 


PROGRAM SORSZÁMA 

Ara 

1- 




LU'- Ft 

2. 



LiJ '-Ft 

3. 



LU'- Ft 

4. 



LU'- Ft 

5. 



J LMFt 

6. 




LU'- Ft 

7. 



LU'- Ft 

8. 




LU'- Ft 

9. 




LU'- Ft 

összesen: 

LL 

db IMI Ft 


A programokat a SZOLGÁLAT által biztosított 
lemezre (99 Ft/db) 
kazettára (40 Ft/db) 

az általam küldött adathordozóra kérem. 

(Kérjük a megfelelő szöveg aláhúzását!) 

Postaköltség (35 Ft) 

A fizetés módja: személyesen — csekken — utánvéttel 

(Kérjük a megfelelő szöveg aláhúzását!) 

ÖSSZESEN: 

A megrendelő neve; . 


Címe: 










































































APRÓCSKÁK 


Tisztelt C-64 felhasználó! 
Örömmel értesítem, hogy el¬ 
készült a NARANCS 3 6200 
nevű katalóguskészítö prog¬ 
ram! A program ára 500 Ft, 
amely tartalmazza a posta- 
költséget is. Borbély Balázs, 
1116 Budapest, Sáfrány u. 
44. III. 33. Tel.: 162-7724. 

C-64-re programok eladók 
lemezre és kazettára, kedvez¬ 
ménnyel. Felbélyegzett vᬠ
laszborítékért listát küldök. 
Papp Mihály, 4034 Debre¬ 
cen, Sterbinszky u. 37. 


Sürgősen eladó: C-64 + 

floppy + játékok (100 db le¬ 
mez) + joy. Az árban meg¬ 
egyezünk. Staub Ferenc, Tel.: 
1-755-240. 

AMIGA 500 és A500 PIus 
játék- & felhasználói progra¬ 
mok nagy választékban, mér¬ 
sékelt áron kaphatók ÉVÁ¬ 
NÁL! Listához, tájékoz¬ 
tatóhoz szükséges: 1 db 
3,5-es lemez és 20 Ft-os bé¬ 
lyeg. Cím: Kopácsi Lajosné, 
H-1031 Budapest, Vizimol- 
nár u. 2. X/95. 


Sürgősen eladó: SEGA Mas- 
tersystem (tartozékokkal) + 
játék, 1 db WB III. 10.000 
Ft-ért. Staub Ferenc, Tel.: 
1755-240. 

Vennék C-16 alapgépre játék, 
oktató és szövegszerkesztő 
programot kazetta cartridge. 
Lórik Ernő, 3524 Miskolc, 
Hajós u. 4. 

Eladó C-128 + 1571 floppy, 
valamint kb, 200 db játékle¬ 
mez. Ár: 25.000 Ft. Hajdany 
Ádám, 1145 Budapest, Újvi¬ 
lág u. 39/b. 


Keresem C-64-re 1 kazettára 
a Shoot’em un Construction 
Kit-et (Fizetek, mint a kö¬ 
les!). Cím: 2626 Nagymaros, 
Jókai u. 4. Tel.: (27) 54-342. 

C-64-es programok eladók 
lemezen. Csere is érdekel. 
Érd: (Pád Softwer) 6772 
Deszk, Alkotmány u. 4. Tel.: 
(62) 372-491. 

Olcsón eladó 200 MByte jᬠ
ték-, ill. felhasználói program 
PC-re. Válaszborítékra tájé¬ 
koztató. Nagy István, 1202 
Budapest, Mártírok útja 151. 


rf= 


NOVOTRADE—2C Kft. ÁRLISTA 


Ft 

Ft 

Ft 

Ft 

Ft 

Ft 

Ft 

Ft 

Ft 


Hardverek 

C-64 alapgép 13 990 

ve 1541/11 floppy drive 15 990 

Datasette 2 990 

Amiga 500 alapgép 39 990 

Amiga 500 PIus alapgép 48 000 

1351 Mouse (C-64-hez) 2 990 

A 520 RF modulátor 3 900 

Amiga tárbővítő 6 000 

RocHard Hord disk Illesztő 22 500 

RocHard Hord disk Illesztő + 

40 Mbyte Winchester 50 000 Ft 

RocGen Genlock RG300 10 750 Ft 

Ethernet Card (A2000-hez) 35 000 Ft 

MPS 1230 nyomtató 24 500 Ft 

Philips 8833/11. (Amiga, C-64) 33 000 Ft 

C64 játékok kazetta lemez 

Chamonix Challenge 499 Ft 549 Ft 

Eddie Edwards Super Ski 499 Ft 549 Ft 

Hostages 549 Ft 599 Ft 

Impossible Mission II 581 Ft 668 Ft 

Rolling Twins/I want more... — 549 Ft 

Operation Neptune — 599 Ft 

Prohibition 499 Ft — 

Sim City — 599 Ft 

Space Racer — 599 Ft 

Tin Tin on the Moon 549 Ft 599 Ft 

Warlock's Quest 499 Ft 549 Ft 

Xonox 399 Ft 499 Ft 

Import járékkazetták 549 Ft — 


2C Aruház, Budapest XIII., Balzac u. 35. 
Tel.: 1402-954 


Hardverkiegészítők 

2 RCA kábel 

3 RCA kábel 
Hálózati kábel 
Adat kábel 
Antenna kábel 
Antenna váltókapcsoló 
C64/128 Euro kábel 
Amiga Euro kábel 
Ékezetes Eprom SP180 VC 
Ékezetes Eprom MPS 1230 
Joy (Quick Shot II PIus) 
Tápegység C64 
Tápegység VC 1541/11 


410 Ft 
575 Ft 
480 Ft 
360 Ft 
340 Ft 
490 Ft 
685 Ft 

1 250 Ft 

2 545 Ft 

3 500 Ft 
850 Ft 

3 000 Ft 

3 000 Ft 


12" mono filter 


700 Ft 

12" color filter 


750 Ft 

14" mono filter 


800 Ft 

14" color filter 


850 Ft 

Disk Box 5'25" 3 db 

99 Ft 

Disk Box 307 5'25" 

50 db 

700 Ft 

Disk Box 309 5'25" 

100 db 

800 Ft 

Disk Box 310 5'25" 

120 db 

850 Ft 

Disk Box 313 3'5" 

10 db 

150 Ft 

Disk Box 318 3'5" 

40 db 

550 Ft 

Disk Box 319 3'5" 

80 db 

750 Ft 

Disk Box 320 3'5" 

140 db 

800 Ft 

Mouse Pad 581 


250 Ft 

Mouse Pad + Holder 

500 Ft 

Mouse Set 


1 000 Ft 

Cleaner 562 5'25" 


150 Ft 

Cleaner 563 3'5" 


150 Ft 

Mouse Holder 


250 Ft 

Mouse takaró 


250 Ft 

Copy Holder 411 


750 Ft 

Copy Holder 412 


1 250 Ft 

Display szemüveg 


750 Ft 


O MÁRCIUS 48 












APRÓCSKÁK 


Aniiga-500 plusz eladó, vagy 
elcserélném. Kérek C-128 + 
sz.monitort. Tel.: 25-29-411. 

C-64-hez jó állapotú magnó, 
floppy olcsón eladó. Szabó 
Tibor, 6300 Kalocsa, Kisha- 
las sor 9. 4. em. 14. 

Felhasználói és játékprogra¬ 
mok lemezen. Adás-vétel- 
csere. Válaszborítékért lista! 
450 Ft. 1701 Budapest, Pf.: 
229. 

C-64 tulajdonosok. Pályázat 
indult. Díjak 35.000 Ft-ért. 
Két válaszborítékot küldj. 
Varsányi, Szombathely, Nagy 
L. u. 11. 

Eladó C-64, Anitech monitor, 
magnó, joy, 3 super, Games, 
tartozékok, játékok. Nagy 
Csaba, 1399 Bp., Pf.: 
701/893. 

C-64 + 1541 floppy + magnó 
+ 2 db joystick + Seikosha 
printer + 100 db programle¬ 
mez + irodalom eladó. Tel.: 
Rácz Gyula, 153-4722/199 
mellék. 


C-64-es programokat cseré¬ 
lek és eladok. Lemezen 20 
Ft/db. Felbélyegzett válasz- 
borítékért listát küldök és ké^ 
rek. Kázmér Attila, 6000 
Kecskemét, Gizella tér 2. 
Tel.:(76) 486-257. 

Eladó C-64/II. + 1541/11. 
floppy + Datasette + modul 
+ lemezek + kazetták + szak¬ 
könyvek. Irányár: 27.000 Ft. 
Érdeklődni: az esti órákban a 
99/28-826-os telefonon. 

Eladói Megkímélt C-64-II. + 
1531 Datasette (10.000 Ft). 
Cím: Kápolnási János, 8200 
Veszprém, Jutási út 63/A. 
VI/38. 

64-esek! Kazettára eladók 
felhasználói, utántöltős és 
egyéb programok, valamint 
egy ritka cartridge 4 prog¬ 
rammal. Válaszboríték! Cím: 
Szilágyi Ákos, 9024 Győr, 
Répce út 17. 

Eladó Commodore 128-as 
komplett számítógép. Érdek¬ 
lődni lehet este 18 óra után. 
Tel.: 1-271-173. 


C-64 bővítők 700-1600, Final 
III. 3000, epromégetők 2100 
Ft-ért eladók. Válaszboríté¬ 
kért ismertető. Mikroklub, 
8100 Várpalota, Pf.:65. 

COVOX hangkártya PC-hez 
tetszetőleges kiszerelésben 
(erősítővel, zeneszerkesztő¬ 
vel, modulokkal, digitalizáló- 
val) eladó! Alap kiszerelés 
(kovox + modulok) 2500 Ft. 
Erőlködövel 3500 Ft! Bármi¬ 
lyen menyiségben! 6 hóna¬ 
pos GARANCIA! Cím: 2626 
Nagymaros, Jókai u. 4. Tel.: 
(27) 54-342. 

Eladó 25 db új 3M lemez 
C-64 színvonalas játékprog¬ 
ramokkal 90 Ft/db áron, 
vagy egyben 2000 Ft-ért. 
Nagy István, 1202 Budapest, 
Mártírok útja 151. 

Plus/4 programcsere és prog¬ 
rameladás! Lemezen és ka¬ 
zettán! Válaszborítékért listát 
küldök. Több mint 1000 
programból válogathatsz! 
Hartung Gábor, 6045 La- 
dánybene. Gödörállás 55. 

Olcsón eladó 200 MByte jᬠ
ték-, ill. felhasználói program 
PC-re. Válaszborítékra tájé¬ 
koztató. Nagy István, 1202 
Budapest, Mártírok útja 151. 

Videós élmények C-64-en di¬ 
gitalizálva. Olvassa a képúj¬ 
ságot C-64-en 4000-féle 

Commodore-alkatrész. Tel.: 
173-17-83. 

Programok készítését vállal¬ 
ja a BCSB TEAM C-64-re 
és C+4-re. Cím: Sidló Csa¬ 
ba, 3242 Parádsasvár, Arany 
J. u. 33. 

Eladók fekete-fehér és zöld 
monitorok 5000 Ft/db. Ér¬ 
deklődni: Kázmér Attila, 
Tel.: (76) 486-257. 

C-64-re kazettára, diskre ok¬ 
tatók, szótárak, könyvelői, 
felhasználói, játékprogramok 
5 Ft-tól. Leírások 40 Ft/oldal. 
Egyedi programok készítését 
vállalom. Borítékért tájékoz¬ 
tatom. Földes Jánosné, 5000 
Szolnok, Győrffy J. u. 12. 1/7. 


C-64-re programokat eladok, 
csak lemezen! Válaszboríté¬ 
kért listát küldök. Czifra Zol¬ 
tán, 5231 Fegyvernek, Kiss 
János út 18/a. 

C-64 program 3 Ft-ért? Igen! 
Lemezre és kazettára, játé¬ 
kok, demók felhaszn^óik 
csak nálam! Cím: Kovács 
Krisztián, 6750 Szeged-Al- 
győ, Bartók Béla u. 6. 

C-64 + floppy-1541 + 40 le¬ 
mez + magnó + 20 db ka¬ 
zetta + 2 db joy. Ár: 24.000 
Ft. Cím: 1191 Budapest, Hu¬ 
nyadi u. 21. fszt. 21. 14 óra 
után. 

Keresek C-64-hez Artstudió- 
hoz printconfig, GEOS-hoz 
egér meghajtó fiiét, Printfox 
programot. Povisel I., 7135 
Dunaszentgyörgy, Csapó u. 2. 

C-64 programok eladása ka¬ 
zettán! Szuperprogramok 
nagyban olcsón! írjatok! Bü- 
di Norbert, 3900 Szerencs, 
Csalogány u. 34/a. 

C-64-hez vádi új 1351 mouse 
csak 2000 Ft!!! ACTION 
Replay VII. 2200 Ft. 576 
Kbyte 91/1-11 és 92/2-9-ig 
teijedő számai csak 400 Ft!!! 
Cím: Badenszky Csaba, 2800 
Tatabánya, Fő tér 9. 

Játék- és felhasználói progra¬ 
mok eladók. Bélyeggel ellᬠ
tott válaszborítékért listát és 
tájékoztatót küldünk. Kéijük, 
tüntesse fel a gépe típusát, és 
a hozzá tartozó perifériákat! 
(Vízhatlan csomagolás, ked¬ 
vezmények!) 

(AMIGA) FRIEND TWO 
CREW, 1399 Bp., Pf.: 
701/55. 

(C-64) BORBÉLY BA- 
LÁZS-BUMBLE BEE, 1116 
Bp., Sáfrány u. 44. 

(IBM) PROSZOLG, 1399 
Bp., Pf.: 636. 

Eladó 1541/lI-es garanciasza¬ 
lagos Commodore drive 
12.500 Ft-ért, valamint 100-as 
lemeztartók 500 Ft/db áron. 
Érdeklődni lehet a 135-1289-es 
telefonszámon. 


Az EPROM BT. A Commodore 64-re az ismert D&T cart¬ 
ridge családja mellett kifejleszteti egy teljesen új. két rész¬ 
ből álló modulrendszert. 

Részei: 

1./ BASIC MODUL 

Jelölése: BM. 

Helye: a C-64 ROM bővítő portja. 

Tartalma: - NYÁK csatlakozó, a cserélhető 
modulok számára, 

- RÉSÉT gomb. 

Fogadhat: 1 vagy 2 — csak cégünk által progra¬ 
mozott — IC-t 

A cserélhető modul helyes csatlakoztatása mechani¬ 
kusan biztosított. 

2.1 CSERÉLHETŐ MODUL 

Helye: a BASIC MODUL NYÁK csatlakozója. 

Megnevezése: játékprogramok esetén 
GAME MODUL. 

1 IC-vel 85—100 Kbyte terjedelem, 

4 változat, 4—5 program/változat. 

2 IC-vel 170—200 Kbyte terjedelem, 

6 változat 8—10 program/változat. 
Szoftveres menüváltás és modulkikapcsolás. 

Minden termékre 6 hónap garancia + használati útmutató. 
Árak: BASIC MODUL 1100 Ft, 

GAME MODUL 1000 Ft 1 IC-vel, 

2000 Ft 2 IC-vel. 

Az árak az ÁFA-t tartalmazzák! 

Megrendelhető: EPROM BT. 

1046 Budapest, Török I. u. 25. 

Tel.: (1) 1690-779 Postai utánvét! 


MÁRCIUS 







/ 


ACOMP Kft. 

MÁRCIUSI 
60 Ft-os 

vásárlási utalványa 

Beváltható 

készpénzes vásárlás esetén a 
1141 Budapest, Álmos vezér útja 17. 
szám alatti üzletben. 

Érvényes: 1993. március 31-ig. 

Egy személy részére egyszeri vásárláshoz 
egy utalvány használható fel! 


A NOVOTRADE SZERVÍZ Kft. az alább felsorolt szervizeiben 
mindenféle szervizszolgáltatás munkadíjából 10% kedvez¬ 
ményt ad az egyesületi tagoknak. 


1083 Budapest, Szigony u. 9. 

3525 Miskolc, Fazekas u. 1—3. 

5600 Békéscsaba, Bartók B. u. 37. 
6724 Szeged, Csongrádi sugárút 76. 
8000 Székesfehérvár, Rádió u. 15/A. 
9700 Szombathely, Szalonak u. 31. 


Tel.: 134-3153 
Tel.: 46/321-488 
Tel.: 66/327-195 
Tel.: 62/313-377 
Tel.: 22/319-765 
Tel.: 94/14-519 



N 

Sas 

> 

ct 

LU 

N 

(O 


Igazolás: a javítandó berendezés leadásakor egyesületi Igazolvánnyal. 
A kedvezmény többször is igénybe vehető. 


MAKROVILÁG 

utazási iroda 

Beváltható 

utazás megrendelése esetén 

az Üllői úti főirodában az alábbiak szerint: 

5 000 Ft-lg — 200 Ft kedvezmény 

10 000 Ft-ig — 400 Ft kedvezmérry 

20 000 Ft-ig — 500 Ft kedvezmény 

20 000 Ft feiett — 1000 Ft kedvezmény 
Cso[X)rtok jeientkezése esetén további 
kedvezményekről az Irodában lehet tárgyalni 


MÁRCiUSi 

60 Ft-os 


Az Országos Commodore Egyesület szolgáltatásai 

Egyesületi tagoknak 20% kedvezmény: 


VC—20 memóriabővítés 3—27 kByte-os: kiépítéstől függő 

C—16, C—116 memóriájának bővítése 64 kByte-ra: 3500 Ft 

C—16 belső 16 kByte-os EPROM bővítés: 1450 Ft 

C—16 belső 32 kByte-os EPROM bővítés: 2900 Ft 

C—16 belső 8 kByte-os SOFT—ROM bővítés: 2800 Ft 

C—16 belső 32 kByte-os SOFT—ROM bővítés: 4000 Ft 

C—16 8 kByte-ról 32 kByte-ra átalakítás: 2000 Ft 

C—16 és 1541 kompatibilis lemezegység párhuzamosítása: 3200 Ft 

SOFTROM modul 32K, kikapcsoláskor sem felejt C-16, C-116, +4 5000 Ff 

FÉK C—16, C—116, +4 potméteres sebességváltoztatás 

0%-tól 100%-ig fokozatmentesen 2000 Ft 

TTL IC-teszter (Cartridge+lemezen a program) 4300 Ft 

+4, C—16. C—116 UNI—ROM rrodul különféle kiépítésekben: 

— 8 kByte SOFT—ROM 3400 Ft 

— 16 kByte SOFT—ROM 4000 Ft 

— 8 kByte SOFT—ROM 16 kByte EPROM 4400 Ft 

— 16 kByte SOFT—ROM 16 kByte EPROM 5000 Ft 

— 16 kByte EPROM 2200 Ft 


Egyesület tagoknak 30% kedvezmény: 


vásáriási utaivány 

Beváltható készpénzes 
vásárlás esetén a 20 Áruházban. 

Bp. XIII., Balzac u. 35. 

Érvényes: 1993. március 31-ig. 


HOBBI ELEKTRONIKA 

MÁRCiUSi 

vásáriási utalványa 

Értéke: 

5000 Ft-ig 80Ft, 

5000 Ft feiett 10% 

Beváltható a Hobbi Elektronika Kft.-nél. 
Budapest VII., Dózsa György u. 16. 
Telefon: 122-8892 

Egy személy részére egyszeri vásárláshoz 
egy utalvány használható feli 


Speeddos (átkapcsolható) operációs rendszer beépítése 
(C64 átalakítás, lemezegység átalakítás + párhuzamos kábel) 

1541 kompatíbilis lemezegységbe elektronikus lemezlyukasztó beépítése 
PAGEFOX magyar ékezetes kiadvány-szerkesztő cartridge 
(a teljes A/4-es oldal kinyomtatásához 640 pont/soros nyomtató szükesé- 
ges minimum, pl. Citizen 120D) 

FASTLOAD cartridge (lemezes gyorstöltő, másoló, monitor) 

TTL IC-teszter cartridge -I- program 

288/256 Kbyte-os eprombank (vezérlő eprommal) 

Epromégető (2716-tól 27512-ig) 

C64-hez tároló oszcilloszkóp 

C64-bővItő-port elosztó (egyszerre 4 db cartridge lehet a gépben, melyeket 
gombnyomásra lehet kapcsolni) 

C64 USER - CENTRONICS nyomtatókábel (GEOS kábel) 

256 K RAM-diszk (256 Kbyte RAM-mal) 

256 K RAM-diszk (64 Kbyte RAM-mal) 

2x64 Kbyte-os cartridge igény szerinti programokkal feltöltve 
64 Kbyte-os cartridge igény szerinti programokkal feltöltve 
Képújság (teletext) dekóder C-64-re 

Epromok programozása meglévő programokkal, vagy saját hozott progra¬ 
mok beégetésével 2716-tól 27612-ig az eprommal együtt egységesen 
Arainkat az alkatrészárak változásai befolyásolhatják. 

A fenti bővítések megrendelhetők levélben az O.C.E. címén, valamint sze¬ 
mélyesen a havonta rendezendő klubdélelőttön, ahol rendszeres bemutatót 
is tartunk. 

Postázás esetén 100 Ft postaköltség kerül felszámításra. 

A kedvezmény igénybevételéhez az O.C.E. tagsági igazolvány bemutatása 
szükséges. 


5000 Ft 
900 Ft 


5500 Ft 
1500 Ft 
4300 FT 
5000 Ft 
5000 Ft 
8000 Ft 

7500 Ft 
1500 Ft 
14Ó00 Ft 
9000 Ft 
4.300 Ft 
3000 Ft 
10000 Ft 

700 Ft 




50 






Elköltöztünk! 


Értesítjük tisztelt ügyfeleinket, 

hogy a 



Budapest V., Magyar utca 12—14. szám 
alatti szervize elköltözött. 


Uj címünk: 

1083 Budapest VIII., 
Szigony utca 9. 
Telefon/Fax: 134-31-53 








számítástechnikái kft. 

1141 Budapest, Álmos vezér útja 17., Tel.: 183-1817, Fax: 251-2523 



Commodore Amiga 500 

37 900 

Ft 

Commodore Amiga 500 Plus 

41 900 

Ft 

Commodore Amiga 600 

43 900 

Ft 

Commodore Amiga 1200 

67 900 

Ft 

Commodore 1084 s Stereo-Color monitor 

30 900 

Ft 

Commodore A-520 TV-Modulator 

3 500 

R 

Commodore C-64 II 

11 900 

R 

Commodore C-128D 

24 900 

R 

Commodore 1541 II Floppy 

15 890 

R ; 

Commodore 1802 monitor 

24900 

R 

Commodore 1352 mouse (eredeti Amiga) 

5990 

R 

Commodore Datassette 

2 500 

R 

Philips 8833 II. Stereo-Color monitor 

30 900 

Ft 

512 Kb órás memóriabővítő 

3 200 

Ft 

2.0 Mb órás memóriabővítő 

14 900 

Ft 

1.0 Mb-os chip bővítő Amiga 500 Plus-ba 

6 900 

Ft 

1.0 Mb-os órás chip bővitő Amiga 600-ba 

7 900 

Ft 

3.5” külső floppy drive 

9 490 

Ft 

Roctec 5.25” külső floppy drive 

12 900 

Ft 

Samsung 24 tűs printer 

37 500 

R 

Quickshot II joystick 

690 

R 

Quickshot II plus joystick 

890 

Ft i 

Quickshot II Turbo Joystick 

990 

Ft 

Quickshot QS - 113 analóg joystick 

990 

Ft 

Quickshot QS - 123 analóg joystick 

1 290 

Ft 

Action Replay MK III (Amiga) kézikönyvvel 

9 990 

Ft 

4 Player Adapter - 4 Joystick csati. 

1 890 

Ft 

Action Replay MK VI (C-64) kézikönyvvel 

5 900 

R 

C-64 midi szoftverrel 

6 500 

Ft 

C-64/C-128 mouse 

2 500 

R ! 

Swifty Amiga/Atari Mouse 

2 500 

R 

Sv/ifty Amiga Mouse (3 gombos) 

2 600 

R ' 

Mouse/Joystick autómatikus kiválasztó 

1 990 

Ft 

Noris MB 10 3.5" lemeztartó 

150 

Ft 

Noris MB 40 3.5" lemeztartó 

490 

Ft 


Noris MB 80 3.5” lemeztarló 

690 Ft 

Noris DB 10 5.25” lemeztartó 

150 Ft 

Noris DB 50 5.25” lemeztartó 

490 Ft 

Noris DB 100 5.25” lemeztartó 

690 Ft 

Noris Amiga 500 porvédő 

990 Ft 

Noris C-64 II porvédő 

790 Ft 

Noris MF 14 C 14” monitorfilter 

590 Ft 

Noris Mouse pad 

250 Ft 

Sound Blaster Pro-2 basic 

16900 Ft 

Midi Amiga Interface 

2 090 Ft 

Handyscanner Amigához 

13900 Ft 

Boot Selector Amigához 

1 490 Ft 

Stereo hangdigitalizáló Amigához 

6900 Ft 

Trackball Amigához 

3590 Ft 

Képdigitalizáló + RGB Splitter 

12 900 Ft 

Rochard HD kontroller A500/A500-t- 

24 990 Ft 

(AT Bús, 0-8 Mbyte Ram) 


+ 40 Mbyte Winchesterrel 

47900 Ft 

-K 80 Mbyte Winchesterrel 

50 900 Ft 

+ 1 Mbyte SIMM Ram 

4 990 Ft 

Amiga Magazin / Power Play újságok 

450 Ft 

NoName 3.5” DSDD lemez 

550 Ft 

NoName 3.5" DSHD lemez 

850 Ft 

NoName 5.25” DSDD lemez 

270 Ft 

NoName 5.25” DSHD lemez 

430 Ft 

3M 3.5” DSDD lemez 

890 Ft 

Maxell 3.5” MF2-DD lemez 

990 Ft 

Maxell 3.5” MF2-HD lemez 

1 690 Ft 

Maxell 5.25” MD2-D lemez 

590 Ft 

Maxell 5.25” MD2-HD lemez 

890 Ft 

Profex 3.5" DSDD lemez (11 darabos) 

790 Ft 

Profex 3.5” DSHD lemez (11 darabos) 

1 390 Ft 

Profex 5.25” DSDD lemez (11 darabos) 

350 Ft 

Profex 5.25" DSHD lemez (11 darabos) 

600 Ft 

Fuji 5.25" MD 2DD lemez 

450 Ft 


Áraink az 1 év garanciát és az ÁFA-t tartalmazzák! 

Nyltvatartás 9—18 óráig, szombaton: 9—13 óráig. 

Vidéki vásárlóknak utánvételes csomagküldő szolgálati 


Az árajánlatban szereplő adatok, árak mindenkori változtatásának jogát fenntartjuk!